Mercurial > hg > mercurial-crew-with-dirclash
view comparison.txt @ 2612:ffb895f16925
add support for streaming clone.
existing clone code uses pull to get changes from remote repo. is very
slow, uses lots of memory and cpu.
new clone code has server write file data straight to client, client
writes file data straight to disk. memory and cpu used are very low,
clone is much faster over lan.
new client can still clone with pull, can still clone from older servers.
new server can still serve older clients.
author | Vadim Gelfer <vadim.gelfer@gmail.com> |
---|---|
date | Fri, 14 Jul 2006 11:17:22 -0700 |
parents | 2073e5a71008 |
children |
line wrap: on
line source
Mercurial git BK (*) storage revlog delta compressed revisions SCCS weave storage naming by filename by revision hash by filename 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(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 ? hardlink clone O(files) O(revisions) O(files) find remote csets O(log new) rsync: O(revisions) ? git-http: O(changesets) pull remote csets O(patch) O(modified files) O(patch) repo growth O(patch) O(revisions) O(patch) kernel history 300M 3.5G? 250M? lines of code 2500 6500 (+ cogito) ?? * I've never used BK so this is just guesses