--development6-rich-root performance regressions on 1.14
John Arbash Meinel
john at arbash-meinel.com
Sun Apr 19 23:49:05 BST 2009
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Brian de Alwis wrote:
> I tried taking some timings on a simple but big branch using John's
> 1.14rc1 + dev6-rr fixes (lp:~jameinel/bzr/1.14-dev6rr-fixes); this
> install has the compiled extensions. I was expecting to see some
> amazing improvements using the new --development6-rich-root format, but
> I instead saw regressions both in diskspace and time. Because the
> numbers for the dev6-rr branch were so out of whack, I tried re-packing
> the dev6-rr branch with 'bzr pack', which made a tremendous difference
> both in diskspace and performance.
The need to 'bzr pack' after a conversion is expected. If you need to
*continually* issue 'bzr pack' to keep decent performance, that is not
expected.
>
> My test branch is a personal bzr branch that I use to track pkgsrc.org's
> CVS repository; I periodically update from CVS and then commit the
> result to bzr. The branch has 19 revisions, 92979 files, and 25554
> directories. The original branch is in a 1.9 format. I pulled from the
> original branch into a dev6-rr branch, and then timed branching from the
> 1.9 and the dev6-rr branches to new branches.
>
> In case anybody is interested in repeating trying these timings, I've
> put the 1.9 and dev6-rr-packed branches at:
>
> http://www.cs.usask.ca/~bsd178/tmp/pkgsrc-1.9
> http://www.cs.usask.ca/~bsd178/tmp/pkgsrc-dev6-rr
>
> High-level comparison:
>
> 1.9 branch:
> diskspace of .bzr: 76M
> branch --no-tree: 0m48.111s
> branch: 11m45.759s
>
> dev6-rr before 'bzr pack':
> diskspace of .bzr: 121M
> branch --no-tree: 16m40.690s
> branch: 20m41.885s
>
> dev6-rr after 'bzr pack':
> diskspace of .bzr: 62M
> branch --no-tree: 1m5.883s
> branch: 5m40.896s
>
^- I would have actually expected it to be even smaller, but at a
minimum it is at least smaller than 1.9. I guess it is a very wide (90k
files) tree, but not very "deep" (only 19 revs).
> As a comparison:
> $ time cp -r pkgsrc-dev6-rr-packed new-branch
>
> real 3m7.629s
> user 0m2.829s
> sys 0m33.865s
>
> Brian.
^- That is the time to copy the repo + the working tree?
It might be enlightening to have you do "bzr co pkgsrc-dev6-rr-packed
- --lsprof-file profile.callgrind", just to see why it takes 1m5s => 5m40s
to build a working tree.
Though I guess if 'cp' takes 3m7s, having bzr take ~4m30s isn't much
worse to create all of those files.
John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAknrqmEACgkQJdeBCYSNAAMvpQCfTMTp0BkeF7FAmXhe4QKTZcen
7N8AoL7eWVAh1rIY5Ln1G1NTOLg1Gicp
=xk9q
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list