/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

  • Committer: John Arbash Meinel
  • Date: 2009-08-07 03:29:09 UTC
  • Revision ID: john@arbash-meinel.com-20090807032909-9xg0nwcqoxi9763y
Removing the min(keys) and max(keys) calls saves 100ms in the inner loop
(get_ancestry() over all of bzr.dev in a single index is 347ms => 245ms).
The current breakdown is roughly:
0.4789      0.1127   bzrlib.btree_index:1129(get_ancestry)
0.0418      0.0418   +<method 'update' of 'set' objects>
0.0480      0.0325   +bzrlib.btree_index:966(_multi_bisect_right)
0.0274      0.0274   +<method 'difference' of 'set' objects>
0.0081      0.0081   +<method 'add' of 'set' objects>
0.0075      0.0075   +<sorted>
0.0048      0.0004   +bzrlib.btree_index:899(_get_internal_nodes)
0.2275      0.0004   +bzrlib.btree_index:917(_get_leaf_nodes)
0.0002      0.0002   +<method 'extend' of 'list' objects>
0.0009      0.0001   +bzrlib.btree_index:1375(key_count)

So we have a bit of just general overhead (112ms), and then
50ms spent in _multi_bisect_right, which we could move to a C extension.
50ms in set.update and 28ms in set.difference
227ms in reading and parsing the 222 nodes from disk.
It seems a little unfortunate that parsing is the primary overhead,
but previous investigation did not reveal much fat that could be trimmed.

It is 3.8MB of uncompressed data that is being parsed. That's got to
take some amount of time. 200ms might be reasonable.
Which would hint that the only way to speed it up would be:
1) a different format
2) don't read the whole thing, stupid :)
Filename Latest Rev Last Changed Committer Comment Size
..
_static 4557.3.1 16 years ago Ian Clatworthy Core website & navigation working Diff
_templates 4557.3.1 16 years ago Ian Clatworthy Core website & navigation working Diff
developers 2481.1.1 18 years ago Robert Collins Move HACKING to docs/developers/HACKING and adjust Diff
en 2691.1.1 18 years ago Ian Clatworthy move most existing topics into the User Guide dir Diff
es 3405.2.1 17 years ago Martin Albisetti * Added directory structure for docs en spanish Diff
ru 3638.6.1 17 years ago Alexey Shtokalo Initial commit for russian version of documents. Diff
bazaar-vcs.org.kid 2691.1.17 18 years ago Ian Clatworthy Fix pretty doc generation so works for all html do 18.2 KB Diff Download File
BUILD-NOTES 4569.1.1 16 years ago John Arbash Meinel Instead of using a symlink, suggest renaming the f 1 KB Diff Download File
conf.py 4557.3.1 16 years ago Ian Clatworthy Core website & navigation working 6.7 KB Diff Download File
contents.txt 4557.3.1 16 years ago Ian Clatworthy Core website & navigation working 762 bytes Diff Download File
default.css 3211.7.3 18 years ago Andrew Bennetts Add a comment to the new CSS. 2.1 KB Diff Download File
index.es.txt 4488.2.1 16 years ago Dmitry Vasiliev Optimize configuration for build documentation 1.2 KB Diff Download File
index.ru.txt 3638.6.33 16 years ago Dmitry Vasiliev Added Russian translation for the first chapter of 2.5 KB Diff Download File
index.txt 4557.3.3 16 years ago Ian Clatworthy Improve the names and location of the quick refere 1.6 KB Diff Download File
make.bat 4557.3.1 16 years ago Ian Clatworthy Core website & navigation working 2.8 KB Diff Download File
Makefile 4557.3.1 16 years ago Ian Clatworthy Core website & navigation working 2.9 KB Diff Download File
news-template.txt 3936.1.2 17 years ago Martin Pool Bump version to 1.12 and add news template 169 bytes Diff Download File