##// END OF EJS Templates
I have spotted the biggest bottleneck in "bdiff.c". Actually it was...
I have spotted the biggest bottleneck in "bdiff.c". Actually it was pretty easy to find after I recompiled the python interpreter and mercurial for profiling. In "bdiff.c" function "equatelines" allocates the minimum hash table size, which can lead to tons of collisions. I introduced an "overcommit" factor of 16, this is, I allocate 16 times more memory than the minimum value. Overcommiting 128 times does not improve the performance over the 16-times case.
Christoph Spiel -
r5339:058e93c3 default
Show More
Name Size Modified Last Commit Author
contrib
doc
hgext
mercurial
templates
tests
.hgignore Loading ...
.hgsigs Loading ...
.hgtags Loading ...
CONTRIBUTORS Loading ...
COPYING Loading ...
Makefile Loading ...
README Loading ...
hg Loading ...
hgeditor Loading ...
hgmerge Loading ...
hgweb.cgi Loading ...
hgwebdir.cgi Loading ...
setup.py Loading ...

Basic install:

$ make # see install targets
$ make install # do a system-wide install
$ hg debuginstall # sanity-check setup
$ hg # see help

See http://www.selenic.com/mercurial/ for detailed installation
instructions, platform-specific notes, and Mercurial user information.