##// END OF EJS Templates
revbranchcache: populate cache incrementally...
revbranchcache: populate cache incrementally Previously the cache would populate completely the first time it was accessed. This could take over a minute on larger repos. This patch changes it to update incrementally. Only values that are read will be written, and it will only rewrite as much of the file as strictly necessary. This adds a magic value of '\0\0\0\0' to represent an empty cache entry. The probability of this matching an actual commit hash prefix is tiny, so it's ok if that's always considered a cache miss. This is also BC safe since any existing entries with '\0\0\0\0' will just be considered misses. Perf numbers: Mozilla-central: hg --time log -r 'branch(mobile)' -T. Cold Cache: 14.7s -> 15.1s (3% worse) Warm Cache: 1.6s -> 2.1s (30% worse) Mozilla-cental: hg perfbranchmap 2s -> 2.4s (20% worse) hg: hg log -r 'branch(stable) & branch(default)' Cold Cache: 3.1s -> 1.9s (40% better - because the old code missed the cache on both branch() revset iterations, so it did twice the work) Warm Cache: 0.2 -> 0.26 (30% worse) internal huge repo: hg --time log -r 'tip & branch(default)' Cold Cache: 65.4s -> 0.2s (327x better) While this change introduces minor regressions when iterating over every commit in a branch, it massively improves the cold cache time for operations which touch a single commit. I feel the better O() is worth it in this case.

File last commit:

r18258:bebb05a7 default
r24376:203a078d default
Show More
index.tmpl
26 lines | 664 B | application/x-cheetah | CheetahLexer
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 {header}
<title>Mercurial repositories index</title>
</head>
<body>
<div class="page_header">
Steven Stallion
hgweb: support alternate logo url...
r13964 <a href="{logourl}" title="Mercurial" style="float: right;">Mercurial</a>
Angel Ezquerra <angel.ezquerra at gmail.com>
hgweb: add a "URL breadcrumb" to the index and repository pages...
r18258 <a href="/">Mercurial</a> {pathdef%breadcrumb}
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 </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>
Dan Villiom Podlaski Christiansen
templates: rename `Last change' column in hgwebdir repository list....
r10301 <td><a href="?sort={sort_lastchange}">Last modified</a></td>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 <td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
{entries%indexentry}
</table>
<div class="page_footer">
{motd}
</div>
</body>
</html>