lp:~jameinel/bzr/chk-index
- Get this branch:
- bzr branch lp:~jameinel/bzr/chk-index
Branch merges
Branch information
Recent revisions
- 4803. By John A Meinel
-
Interning the request tuples dropped the btree peak memory
down to 39MB, and dropped the time to 9.6s.
So definitely an improvement in cached memory, and a tiny perf improvement.
But negligible versus the 1.7s for CHKIndex. - 4802. By John A Meinel
-
Some small tweaks.
I just did some perf testing of instrumenting the key requests against
streaming the content out of a bzr branch and a launchpad branch.
I then created a single CHKIndex with the same 'group' layout,
and performed all the same requests against it, and compared
that time to the time to issue the same requests against the
largest btree .cix (note that this wasn't *all* entries).For bzr, CHKIndex was 0.4s versus 0.979s.
For launchpad, CHKIndex was 1.7s versus 9.9s. \o/And all of this without any custom C parsers, etc.
Note that this was also just timing 'iter_entries()', and
not any of the other parsing, etc. But the CHK code already
has all the values in integers rather than strings.As for size on disk.
For bzr, it is 3.7MB => 3.0MB
For launchpad, it is 16MB => 12MBSo this code is both smaller and significantly faster.
Though admittedly, the time for .cix parsing is probably not
a primary factor in performance. (time to stream the content is
probably much higher.)As for size in memory
For bzr, it is 21MB => 11.2MB.
For launchpad, it is 82MB => 42MB.
There is probably a bit of 'are the tuples interned' effect here
that we should be watching out for.
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp:bzr