/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
..
packaging 3649.4.1 17 years ago John Arbash Meinel Merge in Lukáš's helper scripts. Update the packag Diff
win32 1821.1.1 19 years ago Alexander Belchenko win32 installer for bzr.dev.0.9 Diff
__init__.py 1534.7.158 20 years ago Aaron Bentley Merged John Meinel's integration Empty Diff Download File
File biobench.py 1185.44.26 20 years ago Martin Pool Make biobench directly executable 2.3 KB Diff Download File
bzr_epydoc 2399.1.15 18 years ago John Arbash Meinel [merge] api-doc-builder and remove the pydoctor bu 264 bytes Diff Download File
bzr_epydoc_uid.py 4183.7.1 16 years ago Sabin Iacob update FSF mailing address 1.3 KB Diff Download File
capture_tree.py 2624.1.1 18 years ago Adeodato Simó Loose python2.4-specific shebangs; use generic pyt 1 KB Diff Download File
File check-newsbugs.py 3966.2.4 17 years ago Jelmer Vernooij Add simple script for checking that all bugs in NE 2.3 KB Diff Download File
convertfile.py 4183.7.1 16 years ago Sabin Iacob update FSF mailing address 2.1 KB Diff Download File
convertinv.py 4183.7.1 16 years ago Sabin Iacob update FSF mailing address 2 KB Diff Download File
File generate_docs.py 4526.11.2 16 years ago John Arbash Meinel instead of updating PYTHONPATH in Makefile, update 3 KB Diff Download File
history2revfiles.py 4183.7.1 16 years ago Sabin Iacob update FSF mailing address 2.8 KB Diff Download File
http_client.py 1963.2.6 19 years ago Robey Pointer pychecker is on crack; go back to using 'is None'. 15 KB Diff Download File
package_mf.py 4183.7.1 16 years ago Sabin Iacob update FSF mailing address 2.8 KB Diff Download File
prepare_for_latex.py 4183.7.1 16 years ago Sabin Iacob update FSF mailing address 6.4 KB Diff Download File
riodemo.py 1185.47.1 20 years ago Martin Pool [broken] start converting basic_io to more rfc822- 1.9 KB Diff Download File
File rst2html.py 3545.1.1 17 years ago Ian Clatworthy workaround docutils dot-in-option name bug (Mark H 1.8 KB Diff Download File
File rst2pdf.py 4000.4.1 16 years ago Colin D Bennett Generate PDF version of the User Guide. 4.7 KB Diff Download File
File rst2prettyhtml.py 2691.1.17 18 years ago Ian Clatworthy Fix pretty doc generation so works for all html do 1.8 KB Diff Download File
time_graph.py 4371.4.24 16 years ago John Arbash Meinel Make a note of the 'worst case' for heads. 3.5 KB Diff Download File
File trace-revisions 2624.1.1 18 years ago Adeodato Simó Loose python2.4-specific shebangs; use generic pyt 317 bytes Diff Download File
weavebench.py 4183.7.1 16 years ago Sabin Iacob update FSF mailing address 2.6 KB Diff Download File
weavemerge.sh 1185.1.29 20 years ago Robert Collins merge merge tweaks from aaron, which includes late 584 bytes Diff Download File