Dotted revno "algebra"

Vincent Ladeuil v.ladeuil+lp at free.fr
Tue May 4 10:43:20 BST 2010


>>>>> Francis J Lacoste <francis.lacoste at canonical.com> writes:

<snip/>

    > As this seems to be causing all sorts of performance problem,

Hmm, this is *related* to several performance problems but not the main
cause.

There are two things worth separating here:
- the graph loading,
- the graph part needed to implement a given revno.

There are alternate revno schemes that can be implemented with *less*
graph loading.

John recent experiment with the history_db plugin and previous log
optimizations have clearly demonstrated that the current bottleneck is
the graph loading part.

The current revno scheme requires loading thw hole graph in many cases
which amplifies the problem, but I don't think it's the real cause
(i.e. if the loading part was well addressed the revno calculation may
be lost in the noise).

And whether or not we use dotted revnos to specify some revisions
doesn't mean we won't have to load significant part of the graph for the
task at hand (pull, push, merge need to calculate a graph difference
anyway for example).

So getting rid of dotted revnos doesn't seem to be right answer even if
changing the revno scheme may address *some* performance problems.

    Vincent



More information about the bazaar mailing list