bzr performance (blitz speed on GNU/Linux compared to M$)
John Arbash Meinel
john at arbash-meinel.com
Fri Feb 6 15:33:52 GMT 2009
-----BEGIN PGP SIGNED MESSAGE-----
Alexander Belchenko wrote:
> dhruva пишет:
>> ----- Original Message ----
>>> Message: 1
>>> Date: Fri, 06 Feb 2009 10:40:46 +0200
>>> From: Alexander Belchenko Subject: Re: bzr performance (blitz speed
>>> on GNU/Linux compared to M$)
>>> To: bazaar at lists.canonical.com
>>> Message-ID: Content-Type: text/plain; charset=UTF-8; format=flowed
>>> I can confirm this effect.
>>> Can you say what version of bzr you're using on windows: python-based
>>> or standalone bzr.exe?
>> I am using the python based version updated regularly from bzr.dev
>> repository. I am using python 2.6 and bzr build using MSVC 2005.
> I think this partially explains your result: windows don't like to work
> with many small files, but bzrlib in python sources is it. It's impact
> startup time mostly. Standalone version has smaller startup time
> according to my experience.
So... there are lots of potential factors wrt performance. Window's
logic for caching and prereading files, and memory management, and
python processing speed is all quite a bit different.
As an example of Window's filesystem getting in the way a bit, I just
did the following command a bunch of times:
time bzr co --lightweight bzr.dev test
And the resulting times were:
43.2, 5.1, 4.5, 2.7, 2.4, 1.95, 2.6, 12.9, 1.7, 8.0, 2.3, 1.6, 1.6, 1.7
So we start with a pretty abysmal time of 43s to create ~900 files. It
then drops dramatically down to 5.1s (8x speedup). However, the
improvement doesn't stop there, as eventually it gets down to under 2
seconds to build all 900 files.
Now, I *don't* know what Windows decided to start caching after the
first access (44=>5s), which it then changed again what was cached after
the 3rd access (5s=>2.7s), and then seemingly a bit more later
(2.7s=>1.6s). There were also a couple of hiccups, obviously.
It would certainly be interesting to know if we could hint to the OS a
bit more, to help get more of that 20x speedup in the first run, rather
than not until the last.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
-----END PGP SIGNATURE-----
More information about the bazaar