Mercurial > hg > mercurial-crew-with-dirclash
view doc/hgmerge.1.txt @ 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 | 3ab6e55ee361 |
children | 345bac2bc4ec |
line wrap: on
line source
HGMERGE(1) ========== Matt Mackall <mpm@selenic.com> v0.1, 27 May 2005 NAME ---- hgmerge - default wrapper to merge files in Mercurial SCM system SYNOPSIS -------- 'hgmerge' local ancestor remote DESCRIPTION ----------- The hgmerge(1) command provides a graphical interface to merge files in the Mercurial system. It is a simple wrapper around kdiff3, merge(1) and tkdiff(1), or simply diff(1) and patch(1) depending on what is present on the system. hgmerge(1) is used by the Mercurial SCM if the environment variable HGMERGE is not set. AUTHOR ------ Written by Vincent Danjean <Vincent.Danjean@free.fr> SEE ALSO -------- hg(1) - the command line interface to Mercurial SCM COPYING ------- Copyright \(C) 2005 Matt Mackall. Free use of this software is granted under the terms of the GNU General Public License (GPL).