/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
..
tree_creator 1908.2.16 19 years ago John Arbash Meinel Move all the new TreeCreator classes into separate Diff
__init__.py 4360.5.4 16 years ago Robert J. Tanner Merge 1.15.1 back to trunk 8.8 KB Diff Download File
bench_add.py 4183.7.1 16 years ago Sabin Iacob update FSF mailing address 1.2 KB Diff Download File
bench_bench.py 4183.7.1 16 years ago Sabin Iacob update FSF mailing address 4.1 KB Diff Download File
bench_bundle.py 4183.7.1 16 years ago Sabin Iacob update FSF mailing address 8 KB Diff Download File
bench_cache_utf8.py 4183.7.1 16 years ago Sabin Iacob update FSF mailing address 8.9 KB Diff Download File
bench_checkout.py 4183.7.1 16 years ago Sabin Iacob update FSF mailing address 1.1 KB Diff Download File
bench_commit.py 4183.7.1 16 years ago Sabin Iacob update FSF mailing address 3.3 KB Diff Download File
bench_dirstate.py 4459.2.3 16 years ago Vincent Ladeuil Fix failing benchmarks for dirstate helpers. 16.5 KB Diff Download File
bench_info.py 4183.7.1 16 years ago Sabin Iacob update FSF mailing address 1.3 KB Diff Download File
bench_inventory.py 4183.7.1 16 years ago Sabin Iacob update FSF mailing address 1.5 KB Diff Download File
bench_knit.py 4573.1.1 16 years ago Andrew Bennetts Fix imports for _knit_load_data_pyx, which was rec 3.4 KB Diff Download File
bench_log.py 4183.7.1 16 years ago Sabin Iacob update FSF mailing address 3.9 KB Diff Download File
bench_osutils.py 4183.7.1 16 years ago Sabin Iacob update FSF mailing address 1.4 KB Diff Download File
bench_pack.py 4183.7.1 16 years ago Sabin Iacob update FSF mailing address 1.8 KB Diff Download File
bench_rocks.py 4183.7.1 16 years ago Sabin Iacob update FSF mailing address 1 KB Diff Download File
bench_sftp.py 4183.7.1 16 years ago Sabin Iacob update FSF mailing address 3.3 KB Diff Download File
bench_startup.py 4183.7.1 16 years ago Sabin Iacob update FSF mailing address 3.2 KB Diff Download File
bench_status.py 4183.7.1 16 years ago Sabin Iacob update FSF mailing address 2 KB Diff Download File
bench_tags.py 2694.5.14 16 years ago Jelmer Vernooij Fix copyright headers, add _bencode_py.py to the l 2 KB Diff Download File
bench_transform.py 4183.7.1 16 years ago Sabin Iacob update FSF mailing address 1.5 KB Diff Download File
bench_workingtree.py 4183.7.1 16 years ago Sabin Iacob update FSF mailing address 4.2 KB Diff Download File
bench_xml.py 4183.7.1 16 years ago Sabin Iacob update FSF mailing address 3.6 KB Diff Download File