brisbane: initial cut at a mergeline cache
Robert Collins
robert.collins at canonical.com
Mon Mar 30 06:09:37 BST 2009
On Mon, 2009-03-30 at 14:53 +1000, Ian Clatworthy wrote:
> Robert Collins wrote:
>
> > Don't update on read operations, its not safe, and unlike dirstate there
> > is no need to do so as only write-locked operations can change the state
> > it would cache.
>
> I don't think that's an option. The whole basis for the design is *not*
> to impact write operations in any way, just save some key data calculated
> during the first read operation, making subsequent ones are faster.
Then I think the design is definitely wrong and needs reevaluation. This
data is known during write, and reads outnumber writes immensely;
penalising the most common operation is a serious issue. Or does the
cache write to somewhere other than the branch?
> Without
> this approach, it will *never* be scalable for the very reasons you needed
> to abandon the old cache you mentioned.
> And we need *some* answer, if not the mergeline cache. It simply isn't
> realistic to tell projects like OOo that
>
> bzr log/st/diff -rN
>
> takes a few seconds as long as N isn't off the mainline ('cause then
> it will take a few minutes).
I appreciate we need to fix it. We've had a great deal of success
analysing the root cause of performance isues and coming up with a
design. Look at brisbane-core's disk format for instance - that took a
bunch of effort to come up with a conceptually simple, elegant, and well
performing solution.
So lets look at what is going on and why it needs a cache.
-Rob
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20090330/0536ad15/attachment.pgp
More information about the bazaar
mailing list