##// 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:

r29027:db5084d2 stable
r38106:04ceb267 @26 default
Show More
distribution.xml
19 lines | 802 B | application/xml | XmlLexer
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<installer-gui-script minSpecVersion="1">
<title>Mercurial SCM</title>
<organization>org.mercurial-scm</organization>
<options customize="never" require-scripts="false" rootVolumeOnly="true" />
<welcome file="Welcome.html" mime-type="text/html" />
<license file="../../COPYING" mime-type="text/plain" />
<readme file="Readme.html" mime-type="text/html" />
<pkg-ref id="org.mercurial-scm.mercurial"
version="0"
auth="root"
onConclusion="none">mercurial.pkg</pkg-ref>
<choices-outline>
<line choice="org.mercurial-scm.mercurial"/>
</choices-outline>
<choice id="org.mercurial-scm.mercurial" visible="false">
<pkg-ref id="org.mercurial-scm.mercurial"/>
</choice>
</installer-gui-script>