##// END OF EJS Templates
rhg: stop manifest traversal when no more files are needed...
rhg: stop manifest traversal when no more files are needed Stopping the traversal early can skip a significant part of the manifest traversal, to avoid some of its cost. The worst-case benchmarks are favorable, as well. Running [hg cat] on the last file in the manifest of a large repo, I'm seeing a ~4ms improvement (150ms -> 146ms), so this time is now almost indistinguishable from the baseline ("brute force") implementation. Running [hg cat] on ~220 files together with the last file of the repo is further improved by ~5ms or so. I suspect the raw performance improvements are caused by splitting the manifest search and the file data access into separate phases, instead of interleaving them. Differential Revision: https://phab.mercurial-scm.org/D11616

File last commit:

r24054:fdf7794b default
r49039:0cc69017 default
Show More
index.tmpl
31 lines | 795 B | application/x-cheetah | CheetahLexer
{header}
<title>Mercurial repositories index</title>
</head>
<body>
<div class="container">
<div class="menu">
<a href="{logourl}">
<img src="{staticurl|urlescape}{logoimg}" width=75 height=90 border=0 alt="mercurial" /></a>
</div>
<div class="main">
<h2 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb}</h2>
<table class="bigtable">
<thead>
<tr>
<th><a href="?sort={sort_name}">Name</a></th>
<th><a href="?sort={sort_description}">Description</a></th>
<th><a href="?sort={sort_contact}">Contact</a></th>
<th><a href="?sort={sort_lastchange}">Last modified</a></th>
<th>&nbsp;</th>
<th>&nbsp;</th>
</tr>
</thead>
<tbody class="stripes2">
{entries%indexentry}
</tbody>
</table>
</div>
</div>
{footer}