[merge] http multirange support

John Arbash Meinel john at arbash-meinel.com
Fri Jul 14 02:49:43 BST 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

The attached diff is an implementation of multi range support for http
requests. It enables them on both http and urllib. And then goes one
step further to re-use the curl connections to enable keep-alive support.

Thanks go to Michael Ellerman for writing the multi-range support, and
Johan Rydberg for some of the test suite. I finished up the test suite,
and have been abuse testing it for a little while.

The branch is available from here:
http://bzr.arbash-meinel.com/branches/bzr/http/

I would appreciate it if people would download it, and try to connect to
other branches. Especially if they have the ability to connect to a
non-apache web server.

Just to give people a reason to test it, here are the performance results:

time bzr branch http://bazaar-vcs.org/bzr/bzr.dev/
     original: 22m45s total
     new pycurl: 7m18s total
     new urllib: 9m49s total

bzr branch -r 1500 http://bazaar-vcs.org/bzr/bzr.dev/
time bzr pull
     original: 19m32s total
     new pycurl: 5m23s total
     new urllib: 7m00s total

bzr branch -r 1800 http://bazaar-vcs.org/bzr/bzr.dev/
time bzr pull
     original: 4m13s total
     new pycurl: 4m07s total *
     new urllib: 1m45s total


The code paths are fairly well tested locally. The problem is in how
this interacts with other people's web servers. We can't predict every
server's response, but if people can run it, and give us feedback, we
can figure out if it is safe for 0.9. It should be...

* that is not a typo, I tested it 4 times, I'm currently looking into
the ethereal dump to see why pycurl is slower than urllib here.

Doing this also exposed that we are now double downloading
'inventory.knit', so all of these numbers have some room to drop some
more for bzr.dev.

Feedback is appreciated,

John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFEtvg3JdeBCYSNAAMRAvfBAJ9K6gpd6lYzPVVkWXb2a0fCBrPeaQCg2Syi
3y99BfMeBk9NA8i+/cYfoSM=
=Hbyx
-----END PGP SIGNATURE-----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: http-multirange.diff
Type: text/x-patch
Size: 64872 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060713/e5bd3dd4/attachment.bin 


More information about the bazaar mailing list