##// END OF EJS Templates
bookmarks: cache reverse mapping (issue5868)...
bookmarks: cache reverse mapping (issue5868) I chose a simpler implementation. If the initial cost of building reverse mapping is significant, we'll have to move it under @propertycache. The nodemap could be a dict of sets, but I think keeping a sorted list is better since each node is likely to have zero/one bookmark. Micro-benchmark with 1001 bookmarks and 1001 revisions: $ for n in `seq 0 1000`; do touch $n; hg book book$n; hg ci -qAm$n; done $ hg bookmarks --time > /dev/null (orig) time: real 0.040 secs (user 0.050+0.000 sys 0.000+0.000) (new) time: real 0.040 secs (user 0.040+0.000 sys 0.010+0.000) $ hg log -T '{bookmarks}\n' --time > /dev/null (orig) time: real 0.160 secs (user 0.160+0.000 sys 0.000+0.000) (new) time: real 0.090 secs (user 0.100+0.000 sys 0.000+0.000)

File last commit:

r23934:975c4fc4 stable
r37869:04ceb267 @26 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%