##// END OF EJS Templates
revset: speed up '_matchfiles'...
revset: speed up '_matchfiles' File matching is done by applying the matcher to all elements in the 'file' field of all changesets in the repository. This requires to read/parse all changesets in the repository and do a lot of matching. However about 1/3 of the time of the function is used to create 'changectx' object and retrieve their 'file' field. This is far too much overhead so we are skipping the changectx layer and directly access the data from the changelog. This provide use significant speed up: repository: mozilla central 252524 revisions command: hg perfrevset '_matchfiles("p:browser")' Before: 15.899687s After: 10.011705s Slowdown is even more significant if you have a lot of namespace that slowdown lookup. The time is now spent with this approximate repartition: Matcher: 20% regexp matching: 10% changelog.read: 80% reading revision: 60% checking hash: 15% decompression: 15% reading chunk: 30% changelog parsing: 20% decoding to local: 10% The next easy win is probably to have more of the changelog stack implemented using the CPython api.

File last commit:

r26151:0dda3692 stable
r27028:f92053df default
Show More
helptopics.tmpl
45 lines | 1.9 KiB | application/x-cheetah | CheetahLexer
Augie Fackler
web: add a help view for getting hg help output
r12666 {header}
av6
hgweb: fix help pages title in gitweb and monoblue...
r25686 <title>Help: {title}</title>
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/>
<link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/>
Augie Fackler
web: add a help view for getting hg help output
r12666 </head>
<body>
<div id="container">
<div class="page-header">
Angel Ezquerra <angel.ezquerra at gmail.com>
hgweb: add a "URL breadcrumb" to the index and repository pages...
r18258 <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / help</h1>
Augie Fackler
web: add a help view for getting hg help output
r12666
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <form action="{url|urlescape}log">
Augie Fackler
web: add a help view for getting hg help output
r12666 {sessionvars%hiddenformentry}
<dl class="search">
<dt><label>Search: </label></dt>
<dd><input type="text" name="rev" /></dd>
</dl>
</form>
<ul class="page-nav">
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <li><a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a></li>
<li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li>
<li><a href="{url|urlescape}changelog{sessionvars%urlparameter}">changelog</a></li>
av6
hgweb: don't point graph links at tip hash where it doesn't make sense...
r25525 <li><a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a></li>
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li>
<li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
av6
monoblue: fix branches link on help topics page
r25872 <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li>
av6
hgweb: don't point file links at tip hash where it doesn't make sense...
r25526 <li><a href="{url|urlescape}file{sessionvars%urlparameter}">files</a></li>
Anton Shestakov
hgweb: don't mix tabs and spaces in monoblue templates
r24129 <li class="current">help</li>
Augie Fackler
web: add a help view for getting hg help output
r12666 </ul>
</div>
av6
monoblue: fix page subtitle on help pages
r26151 <h2 class="no-link no-border">help</h2>
Augie Fackler
web: add a help view for getting hg help output
r12666 <table cellspacing="0">
<tr><td colspan="2"><h2><a name="main" href="#topics">Topics</a></h2></td></tr>
{topics % helpentry}
<tr><td colspan="2"><h2><a name="main" href="#main">Main Commands</a></h2></td></tr>
{earlycommands % helpentry}
<tr><td colspan="2"><h2><a name="other" href="#other">Other Commands</a></h2></td></tr>
{othercommands % helpentry}
</table>
{footer}