##// END OF EJS Templates
Speed up hg grep by avoiding useless manifest parsing...
Speed up hg grep by avoiding useless manifest parsing In the kernel repo (tip = 2b89f7111b96), a "hg grep mpm MAINTAINERS" goes from ~165s to 0.7s. This could get even a bit faster if we broke out of the loop after the first match, but I'm not sure how that would interact with the --follow code. This is obviously an extreme example, but other cases should also benefit from this patch.

File last commit:

r4995:e45fc5d0 default
r6146:e3dd35d3 default
Show More
node.py
20 lines | 450 B | text/x-python | PythonLexer
"""
node.py - basic nodeid manipulation 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 binascii
nullrev = -1
nullid = "\0" * 20
# This ugly style has a noticeable effect in manifest parsing
hex = binascii.hexlify
bin = binascii.unhexlify
def short(node):
return hex(node[:6])