Initial benchmarks for checkout performance improvements

Aaron Bentley aaron.bentley at utoronto.ca
Fri Jun 1 18:07:00 BST 2007


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

Andrew Bennetts wrote:
> On a related thought, if you want to measure performance with a cold cache,
> there's "echo 1 | sudo tee -a /proc/sys/vm/drop_caches".

Thanks for the pointer.  I actually used echo 3, because it looks more
representative of a user with cold cache.

In this run, I've added "cpa" as strategy, because in order to duplicate
the effect of a checkout (which marks files as executable), users would
have to run that.

Similarly, I added "top-rename-chmod", which emulates "cp -a" and
"top-rename-stat", which does only the stat half.  But on reflection,
I'm not sure these are relevant values; when building a tree, transform
does not usually have to run chmod, because files are usually not
executable.  And it doesn't usually have to stat the source file either,
because for RevisionTrees, that value is held in memory.

So I think it's realistic to compare top-rename with cp -a:

On hot cache:

cp 6
real 1.77
user 0.07
sys 1.68

cpa 2
real 2.43
user 0.18
sys 2.24

top-rename 7
real 3.14
user 1.02
sys 2.09

So top-rename manages to do less work than cp -a.  But it spends more
time in userspace.  So cp -a is 1.29 x faster.

On cold cache:
cp 6
real 16.24
user 0.10
sys 2.86

cpa 2
real 15.60
user 0.22
sys 3.70

top-rename 3
real 21.82
user 1.00
sys 3.22

Here, cp -a is 1.39x faster than top-rename.  But hey, we're in the
right ballpark, at least.

The numbers were close to the old tree transform speeds.  That gave me
hope that with a cold cache, there wouldn't be much difference between
cp -a and tree transform.  But that hope was dashed:

transform 8
real 45.74
user 6.90
sys 20.28

Sigh.  20 seconds of syscalls.  It makes you wonder, though: what on
earth is TreeTransform doing?  Probably time for strace...

Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGYFI00F+nu1YWqI0RAm2zAJ9EpN2N6EF7p7CQ13/EyNF9pYYRwwCfVDqo
jx+ZNJhHEq4E25T9CnN1i7Q=
=pVG6
-----END PGP SIGNATURE-----
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: bench.coldcache
Url: https://lists.ubuntu.com/archives/bazaar/attachments/20070601/6bfd0708/attachment-0002.diff 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: bench.hotcache
Url: https://lists.ubuntu.com/archives/bazaar/attachments/20070601/6bfd0708/attachment-0003.diff 


More information about the bazaar mailing list