##// END OF EJS Templates
Take advantage of fstat calls clustering per directory if OS support it....
Take advantage of fstat calls clustering per directory if OS support it. util module implements two versions of statfiles function _statfiles calls lstat per file _statfiles_clustered takes advantage of optimizations in osutil.c, stats all files in directory at once when new directory is hit and caches the results util.statfiles dispatches to appropriate version during module loading The speedup on directory tree with 2k directories and 63k files is about factor of 1.8 (1.3s -> 0.8s for hg diff - hg startup overhead about .2s) At this point only Win32 now benefit from this patch. Rest of OSes use the non clustered implementation.

File last commit:

r4995:e45fc5d0 default
r7118:619ebf82 default
Show More
node.py
20 lines | 450 B | text/x-python | PythonLexer
mpm@selenic.com
Break apart hg.py...
r1089 """
node.py - basic nodeid manipulation for mercurial
Vadim Gelfer
update copyrights.
r2859 Copyright 2005, 2006 Matt Mackall <mpm@selenic.com>
mpm@selenic.com
Break apart hg.py...
r1089
This software may be used and distributed according to the terms
of the GNU General Public License, incorporated herein by reference.
"""
Matt Mackall
Replace demandload with new demandimport
r3877 import binascii
mpm@selenic.com
Break apart hg.py...
r1089
Thomas Arendsen Hein
Define and use nullrev (revision of nullid) instead of -1.
r3578 nullrev = -1
mpm@selenic.com
Break apart hg.py...
r1089 nullid = "\0" * 20
Matt Mackall
manifest: speed up creation of the manifestdict...
r4995 # This ugly style has a noticeable effect in manifest parsing
hex = binascii.hexlify
bin = binascii.unhexlify
mpm@selenic.com
Break apart hg.py...
r1089
def short(node):
return hex(node[:6])