mercurial/i18n.py
author Christoph Spiel <cspiel@freenet.de>
Thu, 27 Sep 2007 23:57:57 -0500
changeset 5363 058e93c3d07d
parent 3890 660504812daf
permissions -rw-r--r--
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.

"""
i18n.py - internationalization support for mercurial

Copyright 2005, 2006 Matt Mackall <mpm@selenic.com>

This software may be used and distributed according to the terms
of the GNU General Public License, incorporated herein by reference.
"""

import gettext
t = gettext.translation('hg', fallback=1)
gettext = t.gettext
_ = gettext