Bazaar-NG vs. Mercurial -- speed comparison
Jan Hudec
bulb at ucw.cz
Thu May 18 21:10:43 BST 2006
On Thu, May 18, 2006 at 19:12:00 +0000, Bryan O\'Sullivan wrote:
> John A Meinel <john <at> arbash-meinel.com> writes:
>
> > First, mercurial use a custom server rather than working off of 'plain'
> > http/sftp.
>
> It actually works over plain http, though you can't push over HTTP yet.
No, it's not a plain http. It's a mercurial protocol over http and requires
mercurial server. This is a problem because most free webspace providers
won't let you run a python cgi on the server.
Bzr works even in that case. At the cost that the access is a lot less
optimized and therefore quite a bit slower.
> > This does give it a huge latency advantage. It has some
> > drawbacks, as in it is another thing that needs to be setup, holes
> > opened in firewalls, etc.
>
> We tunnel over regular ssh, or you can install a CGI script to serve
> over an existing http server on port 80. Either mechanism takes about
> two minutes to set up and debug.
Ok, when you have an ssh connection you can probably run your programs there.
But eg. my friend still has a server running on woody, where latest installed
python is 2.1. Setting up mercurial is a matter of 2 minutes -- but setting
up python2.3 is not.
> > I should revisit my
> > performance testing with knits.
>
> My performance tests were run using knits.
>
> > Mercurial has used 'revfiles' for a long
> > time, which are very similar to knits.
>
> The only similarity is that both are append-only. Revlog files do not
> represent a weave, while knits do. I suspect that you have to read an entire
> knit file to reconstruct the most recent revision, while a revlog file has
> a small upper bound on the amount of data you have to read to reconstruct
> any revision.
Knits certainly DON'T have to be read in entirety to reconstruct a version.
What I don't know is how knits and revlogs compare in number of blocks in the
scatter/gather read request.
> > (Also, on one of my
> > production servers, I don't install gcc, which makes mercurial difficult
> > to install, and it is where I host some repositories)
>
> Most people install Mercurial and Bazaar-NG from binary packages, though,
> so this is not an issue for either in practice.
Servers are usually not upgraded as often as desktops. Which means they often
run distributions older than a reasonable version of mercurial. Which means
there may be no binaries compiled against old enough libraries.
--
Jan 'Bulb' Hudec <bulb at ucw.cz>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060518/310698ec/attachment.pgp
More information about the bazaar
mailing list