view comparison.txt @ 58:2ab801e0ea9f

A quick set of comparisons between hg, git, and bk
author mpm@selenic.com
date Thu, 12 May 2005 01:20:16 -0800
parents
children 17e66e1a0382
line wrap: on
line source

                    Mercurial      git                     BK (*)
storage             revlog delta   compressed revisions    SCCS weave
merge               file DAGs      changeset DAG           file DAGs?
consistency         SHA1           SHA1                    CRC
signable?           yes            yes                     no       

retrieve file tip   O(1)           O(1)                    O(revs)
add rev             O(1)           O(1)                    O(revs)
find prev file rev  O(1)           O(changesets)           O(revs)
annotate file       O(1)|O(revs)   O(changesets)           O(revs)
find file changeset O(1)           O(changesets)           ?

checkout            O(files)       O(files)                O(revs)?
commit              O(changes)     O(changes)              ?
                    6 patches/s    6 patches/s             slow
diff working dir    O(changes)     O(changes)              ?
                    < 1s           < 1s                    ?
tree diff revs      O(changes)     O(changes)              ?
                    < 1s           < 1s                    ?
local clone         O(files)       O(revisions)            O(files)
find remote csets   O(log new)     O(revisions)            ?
pull remote csets   O(patch)       O(modified files)       O(patch)
                    100 csets/s    8 csets/s               ?
repo growth         O(patch)       O(revisions)            O(patch)
 kernel history     250M?          3.5G?                   250M?
lines of code       2500           6500 (+ cogito)         ??

* I've never used BK so this is just guesses