[cvsnt] Re: Performance problems

Nitzan Shaked calius at netvision.net.il
Mon Dec 27 18:51:33 GMT 2004


> As far as I know the way CVS stores the file information is optimized
> for working on HEAD. It actually stores the *complete* contents of
> HEAD as is and then all other revisions are chained backwards diffs
> from HEAD.

That's interesting... I would imagine that systems such as CVS would store
the complete file for versions of logarithmic revisions (say for revisions
1, 2, 4, 8, etc.). I would store diffs in the same manner: logarithmicaly
between complete versions. Then each update on any revision whatsoever would
take never more than O(log N). (I would also naturally store HEAD since it's
very common to access it).

I believe that for most operations things should be done in O(1) or O(log
N), never more. In more  "modern" systems tagging, branching etc are O(1).

Nitzan





More information about the cvsnt mailing list