comparison.txt
author mpm@selenic.com
Fri, 20 May 2005 17:44:34 -0800
changeset 121 66fb61d9d97d
parent 58 2ab801e0ea9f
child 139 17e66e1a0382
permissions -rw-r--r--
Use revlog.delta and mdiff.patchtext to massively speed up processing of manifests. This lets us verify a 28k changeset kernel repo in under two minutes.

                    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