Comment 5 for bug 402623

Revision history for this message
John A Meinel (jameinel) wrote :

So the trivial fix is:
=== modified file 'bzrlib/btree_index.py'
--- bzrlib/btree_index.py 2009-08-13 19:56:26 +0000
+++ bzrlib/btree_index.py 2009-08-14 18:55:59 +0000
@@ -46,7 +46,7 @@
 _PAGE_SIZE = 4096

 # 4K per page: 4MB - 1000 entries
-_NODE_CACHE_SIZE = 1000
+_NODE_CACHE_SIZE = 100000

One could easily put this into a plugin.

Also note that this is only true when reading over a 'dumb' transport. The smart server code reads things locally and streams the content over the wire, the indexes are not read directly.

A more involved option would be to set up a special case for .cix because we know we lose 'locality' there, and to only bump up the node cache size for cix.