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

r30765:eb7de21b default
r37869:04ceb267 @26 default
Show More
index.tmpl
34 lines | 945 B | application/x-cheetah | CheetahLexer
{header}
<title>Mercurial repositories index</title>
</head>
<body>
<div id="container">
<div class="page-header">
<h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb}</h1>
<ul class="page-nav">
</ul>
</div>
<table cellspacing="0">
<tr>
<td><a href="?sort={sort_name}">Name</a></td>
<td><a href="?sort={sort_description}">Description</a></td>
<td><a href="?sort={sort_contact}">Contact</a></td>
<td><a href="?sort={sort_lastchange}">Last modified</a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
{entries%indexentry}
</table>
<div class="page-footer">
{motd}
</div>
<div id="powered-by">
<p><a href="{logourl}" title="Mercurial"><img src="{staticurl|urlescape}{logoimg}" width=75 height=90 border=0 alt="mercurial"></a></p>
</div>
</div>
</body>
</html>