Mercurial > hg > mercurial-crew-with-dirclash
view tests/test-update-reverse.out @ 1534:80a3d6a0af71
Optimize manifest.add
Testing shows that manifest.add is spending a significant percentage of
its time running calcoffsets and doing text = "".join(addlist). This
patch removes the need for both of these by storying the manifest in a
character array, and using a modified bisect search to find lines without
the help of a separate index of line offsets.
manifest.add was also reworked to push delta construction/combination into the
main loop.
Time to apply 2751 patches (without psyco, ext3 noatime,data=writeback):
Stock hg: 4m45s real 3m32s user 55s sys
patched: 2m48s real 1m53s user 43s sys
quilt: 2m30s real 45s user 50s sys
(quilt does much more io...)
author | mason@suse.com |
---|---|
date | Fri, 11 Nov 2005 18:20:22 -0800 |
parents | 3a0b69ea5708 |
children | 6d50d6189269 |
line wrap: on
line source
Main should be gone a changeset: 3:91ebc10ed028 tag: tip user: test date: Thu Jan 1 00:00:00 1970 +0000 summary: Added side2 changeset: 2:b932d7dbb1e1 parent: 0:c2eda428b523 user: test date: Thu Jan 1 00:00:00 1970 +0000 summary: Added side1 changeset: 1:71a760306caf user: test date: Thu Jan 1 00:00:00 1970 +0000 summary: Added main changeset: 0:c2eda428b523 user: test date: Thu Jan 1 00:00:00 1970 +0000 summary: Added a Should have two heads, side2 and main changeset: 3:91ebc10ed028 tag: tip user: test date: Thu Jan 1 00:00:00 1970 +0000 summary: Added side2 changeset: 1:71a760306caf user: test date: Thu Jan 1 00:00:00 1970 +0000 summary: Added main Should show a side1 side2 a side1 side2 resolving manifests force 1 allow None moddirstate True linear False ancestor 8515d4bfda76 local 1c0f48f8ece6 remote 0594b9004bae remote deleted side2, clobbering remote deleted side1, clobbering remote created main getting main removing side1 removing side2 Should only show a main a main