--development6-rich-root performance regressions on 1.14
Brian de Alwis
bsd at cs.ubc.ca
Sun Apr 19 22:01:53 BST 2009
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.
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
As a comparison:
$ time cp -r pkgsrc-dev6-rr-packed new-branch
real 3m7.629s
user 0m2.829s
sys 0m33.865s
Brian.
More detailed timings/diskpace:
# This is the bzr-1.9 branch
$ du -h pkgsrc-1.9/.bzr
0B pkgsrc-1.9/.bzr/branch/lock
16K pkgsrc-1.9/.bzr/branch
0B pkgsrc-1.9/.bzr/branch-lock
0B pkgsrc-1.9/.bzr/checkout/lock
15M pkgsrc-1.9/.bzr/checkout
2.6M pkgsrc-1.9/.bzr/repository/indices
0B pkgsrc-1.9/.bzr/repository/lock
0B pkgsrc-1.9/.bzr/repository/obsolete_packs
58M pkgsrc-1.9/.bzr/repository/packs
0B pkgsrc-1.9/.bzr/repository/upload
61M pkgsrc-1.9/.bzr/repository
76M pkgsrc-1.9/.bzr
# This is the dev6-rr branch before a 'bzr pack'
$ du -h /tmp/pkgsrc-devrr6/.bzr
0B .bzr/branch/lock
16K .bzr/branch
0B .bzr/branch-lock
0B .bzr/checkout/lock
21M .bzr/checkout
3.7M .bzr/repository/indices
0B .bzr/repository/lock
0B .bzr/repository/obsolete_packs
97M .bzr/repository/packs
0B .bzr/repository/upload
100M .bzr/repository
121M .bzr
# This is the dev6-rr branch after a 'bzr pack' and tossing the
obsolete_packs
$ du -h /tmp/pkgsrc-devrr6/.bzr
0B .bzr/branch/lock
16K .bzr/branch
0B .bzr/branch-lock
0B .bzr/checkout/lock
21M .bzr/checkout
2.1M .bzr/repository/indices
0B .bzr/repository/lock
0B .bzr/repository/obsolete_packs
40M .bzr/repository/packs
0B .bzr/repository/upload
42M .bzr/repository
62M .bzr
# Time to branch the 1.9 format branch with --no-tree
$ time tbzr --no-plugins branch --no-tree pkgsrc-1.9 pkgsrc-1.9-nt
Branched 19 revision(s).
real 0m48.111s
user 0m35.054s
sys 0m6.278s
# Time to branch the 1.9 format branch with a working tree *before*
'bzr pack'
$ time tbzr --no-plugins branch pkgsrc-1.9/ pkgsrc-1.9-tree
Branched 19 revision(s).
real 11m45.759s
user 1m19.804s
sys 0m53.616s
# Time to branch the dev6-rr branch with --no-tree *before* 'bzr pack'
$ time tbzr --no-plugins branch --no-tree pkgsrc-dev6-rr pkgsrc-dev6-
rr-nt
Branched 19 revision(s).
real 16m40.690s
user 9m54.809s
sys 5m41.191s
# Time to branch the dev6-rr branch with a working tree *before* 'bzr
pack'
$ time tbzr --no-plugins branch pkgsrc-dev6-rr pkgsrc-dev6-rr-tree
Branched 19 revision(s).
real 20m41.885s
user 10m14.476s
sys 6m11.934s
# Time to branch the dev6-rr branch with --no-tree *after* 'bzr pack'
$ time tbzr --no-plugins branch --no-tree pkgsrc-dev6-rr pkgsrc-dev6-
rr-packed-nt
Branched 19 revision(s).
real 1m5.883s
user 0m53.303s
sys 0m6.891s
# Time to branch the dev6-rr with a working tree *after* 'bzr pack'
$ time tbzr --no-plugins branch pkgsrc-dev6-rr pkgsrc-dev6-rr-packed-
tree
Branched 19 revision(s).
real 5m40.896s
user 1m20.196s
sys 0m43.745s
--
"Amusement to an observing mind is study." - Benjamin Disraeli
More information about the bazaar
mailing list