Initial benchmarks for checkout performance improvements

Aaron Bentley aaron.bentley at utoronto.ca
Thu May 31 23:50:07 BST 2007


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

Aaron Bentley wrote:
> In this run of benchmarks, cp was actually slower than copytree or
> top-rename.  But cp has previously hit 2.183s.

The variability of results has been bothering me.  debboy in #bzr
reminded me about the sync command last night.  I decided to try syncing
before each run.  What a difference!

Clearly, the dirty buffers from previous runs were interfering with
subsequent runs, because the numbers are now much lower, and more
consistent.

Also, we see that my implementations of tree-building are faster than
copytree:

copytree 6
real 3.95
user 1.56
sys 2.35

naive 9
real 2.96
user 0.76
sys 2.11

Top-rename is a little bit slower:
top-rename 2
real 3.14
user 0.94
sys 2.14

But cp still takes the cake:
cp 8
real 1.81
user 0.10
sys 1.70

But what are we measuring?  In a sense, we're measuring how fast we can
make the buffers dirty.  So for a user with clean buffers, this is a
reasonably accurate reflection of tree-building performance.

If we include the sync time, then the numbers are more reflective of the
build time on a system with full buffers, because in order to stick data
in the buffers, we would have to make room in the buffers for the new
files.  (But flushing them afterward provides better isolation for tests.)

This *also* gives more consistent numbers than not syncing.  And the
difference between copytree and naive is still there:

copytree 6
real 14.09
user 1.56
sys 2.59

naive 9
real 11.77
user 0.76
sys 2.36

Top-rename does very well:
top-rename 4
real 10.72
user 0.94
sys 2.36

Even cp doesn't match it:
cp 7
real 11.20
user 0.07
sys 1.95

I'm inclined to exclude the sync time from the numbers, at least for
day-to-day benchmarking.  I'm guessing that's more reflective of user
experience than the other way around.

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

iD8DBQFGX1Ee0F+nu1YWqI0RAh3qAJ9guUOuejJ0TxRW5l7zGKfAlUjVwQCffOMW
0wZVXswmt6za6MkIEzT9VSU=
=wvvh
-----END PGP SIGNATURE-----
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: bench-presync
Url: https://lists.ubuntu.com/archives/bazaar/attachments/20070531/a22e823a/attachment.diff 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: bench-inclsync
Url: https://lists.ubuntu.com/archives/bazaar/attachments/20070531/a22e823a/attachment-0001.diff 


More information about the bazaar mailing list