##// END OF EJS Templates
match: improve includematcher.visitchildrenset to be much faster and cached...
match: improve includematcher.visitchildrenset to be much faster and cached This improves the speed of visitchildrenset considerably, especially when there are complicated matchers involved that may have many entries in _dirs or _parents. Unfortunately the benchmark isn't easily upstreamed due to its reliance on https://github.com/vstinner/perf (primarily due to the conflict when importing it if I were to contribute the benchmark as contrib/matcherbenchmarks.py) instead of asv or some other perf measurement system. To describe the benchmark briefly: I generated an includematcher of either 5 or 3500 "rootfilesin:prefix1/prefix2/prefix3/<randomsubdirs, 1-8 levels deep>" items in the 'setup' function, and then called `im.visitchildrenset('prefix1/prefix2')` in the 'stmt' function in perf.timeit. For the set of 5: - before: 15.3 us +- 2.9 us - after: 1.59 us +- 0.02 us For the set of 3500: - before: 3.90 ms +- 0.10 ms - after: 3.15 us +- 0.09 us (note the m->u change) Differential Revision: https://phab.mercurial-scm.org/D4351

File last commit:

r23934:975c4fc4 stable
r39494:35ecaa99 default
Show More
hg.bat
19 lines | 475 B | application/x-msdownload | BatchLexer
Paul Moore
Add a batch file driver for Windows
r6513 @echo off
rem Windows Driver script for Mercurial
setlocal
set HG=%~f0
FUJIWARA Katsunori
win32: use explicit path to "python.exe" only if it exists...
r19091 rem Use a full path to Python (relative to this script) if it exists,
rem as the standard Python install does not put python.exe on the PATH...
rem Otherwise, expect that python.exe can be found on the PATH.
Paul Moore
Add a batch file driver for Windows
r6513 rem %~dp0 is the directory of this script
FUJIWARA Katsunori
win32: use explicit path to "python.exe" only if it exists...
r19091 if exist "%~dp0..\python.exe" (
"%~dp0..\python" "%~dp0hg" %*
) else (
python "%~dp0hg" %*
)
Paul Moore
Add a batch file driver for Windows
r6513 endlocal
FUJIWARA Katsunori
hg.bat: return exit code explicitly for indirect invocation...
r23934
exit /b %ERRORLEVEL%