Comment 8 for bug 402623

Revision history for this message
Ian Clatworthy (ian-clatworthy) wrote :

There are several issues here:

1. Can we tell via tools what repositories will be impacted by this, e.g. by running a plugin like repository-details?

2. What operations are impacted? Just branch or also things like pull, update and imports?

3. Solution design. If users aren't going to know that this will impact them until after they do the branch, then adding a command line flag (vs some sort of auto-detection) doesn't sound very useful to me.

It's very easy to extend the BTreeGraphIndex constructor with an optional parameter being the index size. The hard bit is passing that parameter in from a higher layer, given the way these indexes are currently instantiated by the repository layer as best I can tell. And how would the higher layer decide what size is appropriate?

Maybe we need a high level setting of "optimise for memory vs speed" as Windows does? Assuming memory is quite abundant these days, perhaps picking a larger default cache here (40MB vs 4MB) is fine. Those on limited memory laptops could add something to their bazaar.conf saying something like "optimize-for = limited-memory".