Some unscientific timing results (on the Python source tree)

John Arbash Meinel john at arbash-meinel.com
Thu Mar 27 14:49:10 GMT 2008


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

Russel Winder wrote:
| Neil,
|
| On Tue, 2008-03-25 at 15:38 +0000, Neil Martinsen-Burrell wrote:
|> Russel Winder <russel.winder <at> concertant.com> writes:
|>
|>
|>> Where does sftp:// fit into all this?  Is it the same as bzr+ssh:// ?
|>>
|>> I had assumed sftp was the right way of working where SSH access was
|>> available but maybe that was a wrong assumption?
|> sftp:// is another one of the "dumb" protocols that Bazaar supports.  Quoting
|> the User Guide: "We describe HTTP, FTP, SFTP and HTTP-WebDAV as "dumb" servers
|> because they do not offer any assistance to Bazaar."  So, performance over SFTP
|> is generally worse than over bzr+ssh:// because it doesn't support special
|> purpose verbs that the smart server (the "bzr+" part) does support.  I find
|> working over bzr+ssh to be a much more pleasant experience than over sftp.
|> Although, for small changes, I find that the time to authenticate over SSH seems
|> to be the limiting factor for e.g. commits on checkouts.  This time for
|> authentication should be the same for sftp or bzr+ssh.
|
| I had missed bzr+ssh: somewhere along the line.  The above argument
| sounds like a very good reason to drop using sftp: and always use bzr
| +ssh:
|
| Thanks.
|

sftp:// has some specific protocol limitations that require several round trips
to get data from a new file. (open(), read_range_1(), read_range_2(), close()).
The reads can be async, but you still have to send a request for each range,
while HTTP lets you send a ranges: 10-20,30-40, etc. bzr+ssh uses the HTTP form
and allows a single request to open a file, read a bunch of ranges, and return
the data.

On the local network and my very old server, bzr takes a little while to start
up on the server (~1s), and it shows up in some commands (since I use checkouts
almost exclusively).

We want to continue supporting sftp so people without admin rights on a server
can still push their changes. However, expect bzr+ssh to continually improve,
while sftp:// performance stagnates.

(Already for a project with long history, bzr pull the last 100 revs should be a
lot faster over bzr+ssh because the discovery of revisions can be a lot quicker.)

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

iD8DBQFH67PmJdeBCYSNAAMRAvCUAJ4vZbVIbDwdIAcWgf06/btnDgfc0QCeP5Ng
F8fjixKyzvYSkdo18SiLIbQ=
=OEqb
-----END PGP SIGNATURE-----




More information about the bazaar mailing list