annotate mercurial/templates/monoblue/helptopics.tmpl @ 30308:d500ddae7494

bdiff: don't check border condition in loop `plast = a + len - 1`. So, this "for" loop iterates from "a" to "plast", inclusive. So, `p == plast` can only be true on the final iteration of the loop. So checking for it on every loop iteration is wasteful. This patch simply decreases the upper bound of the loop by 1 and adds an explicit check after iteration for the `p == plast` case. We can't simply add 1 to the initial value for "i" because that doesn't do the correct thing on empty input strings. `perfbdiff -m 3041e4d59df2` on the Firefox repo becomes significantly faster: ! wall 0.072763 comb 0.070000 user 0.070000 sys 0.000000 (best of 100) ! wall 0.053221 comb 0.060000 user 0.060000 sys 0.000000 (best of 100) For the curious, this code has its origins in 8b067bde6679, which is the changeset that introduced bdiff.c in 2005. Also, GNU diffutils is able to perform a similar line-based diff in under 20ms. So there's likely more perf wins to be found in this code. One of them is the hashing algorithm. But it looks like mpm spent some time testing hash collisions in d0c48891dd4a. I'd like to do the same before switching away from lyhash, just to be on the safe side.
author Gregory Szorc <gregory.szorc@gmail.com>
date Sun, 06 Nov 2016 00:37:50 -0700
parents 6ca3c54f801b
children 265196cd7d7f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8430
8b47efdf40ee monoblue: use newer template syntax everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8355
diff changeset
1 {header}
25686
def530e77b0b hgweb: fix help pages title in gitweb and monoblue
Anton Shestakov <av6@dwimlabs.net>
parents: 25526
diff changeset
2 <title>Help: {title}</title>
18526
9409aeaafdc1 hgweb: urlescape all urls, HTML escape repo/tag/branch/... names
Thomas Arendsen Hein <thomas@intevation.de>
parents: 18258
diff changeset
3 <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/>
9409aeaafdc1 hgweb: urlescape all urls, HTML escape repo/tag/branch/... names
Thomas Arendsen Hein <thomas@intevation.de>
parents: 18258
diff changeset
4 <link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/>
8355
5ba798f339c8 monoblue: add branches page
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
5 </head>
5ba798f339c8 monoblue: add branches page
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
6
5ba798f339c8 monoblue: add branches page
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
7 <body>
5ba798f339c8 monoblue: add branches page
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
8 <div id="container">
5ba798f339c8 monoblue: add branches page
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
9 <div class="page-header">
18258
bebb05a7e249 hgweb: add a "URL breadcrumb" to the index and repository pages
Angel Ezquerra <angel.ezquerra at gmail.com>
parents: 17286
diff changeset
10 <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / help</h1>
8355
5ba798f339c8 monoblue: add branches page
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
11
18526
9409aeaafdc1 hgweb: urlescape all urls, HTML escape repo/tag/branch/... names
Thomas Arendsen Hein <thomas@intevation.de>
parents: 18258
diff changeset
12 <form action="{url|urlescape}log">
8355
5ba798f339c8 monoblue: add branches page
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
13 {sessionvars%hiddenformentry}
5ba798f339c8 monoblue: add branches page
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
14 <dl class="search">
5ba798f339c8 monoblue: add branches page
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
15 <dt><label>Search: </label></dt>
5ba798f339c8 monoblue: add branches page
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
16 <dd><input type="text" name="rev" /></dd>
5ba798f339c8 monoblue: add branches page
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
17 </dl>
5ba798f339c8 monoblue: add branches page
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
18 </form>
5ba798f339c8 monoblue: add branches page
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
19
5ba798f339c8 monoblue: add branches page
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
20 <ul class="page-nav">
18526
9409aeaafdc1 hgweb: urlescape all urls, HTML escape repo/tag/branch/... names
Thomas Arendsen Hein <thomas@intevation.de>
parents: 18258
diff changeset
21 <li><a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a></li>
9409aeaafdc1 hgweb: urlescape all urls, HTML escape repo/tag/branch/... names
Thomas Arendsen Hein <thomas@intevation.de>
parents: 18258
diff changeset
22 <li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li>
9409aeaafdc1 hgweb: urlescape all urls, HTML escape repo/tag/branch/... names
Thomas Arendsen Hein <thomas@intevation.de>
parents: 18258
diff changeset
23 <li><a href="{url|urlescape}changelog{sessionvars%urlparameter}">changelog</a></li>
25525
bcc02516f384 hgweb: don't point graph links at tip hash where it doesn't make sense
Anton Shestakov <av6@dwimlabs.net>
parents: 24129
diff changeset
24 <li><a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a></li>
18526
9409aeaafdc1 hgweb: urlescape all urls, HTML escape repo/tag/branch/... names
Thomas Arendsen Hein <thomas@intevation.de>
parents: 18258
diff changeset
25 <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li>
9409aeaafdc1 hgweb: urlescape all urls, HTML escape repo/tag/branch/... names
Thomas Arendsen Hein <thomas@intevation.de>
parents: 18258
diff changeset
26 <li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
25872
00345d10c2cf monoblue: fix branches link on help topics page
Anton Shestakov <av6@dwimlabs.net>
parents: 25686
diff changeset
27 <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li>
25526
32f76eccbced hgweb: don't point file links at tip hash where it doesn't make sense
Anton Shestakov <av6@dwimlabs.net>
parents: 25525
diff changeset
28 <li><a href="{url|urlescape}file{sessionvars%urlparameter}">files</a></li>
27580
34c3ea65d6d1 templates: support linking to main help page
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27578
diff changeset
29 {if(subindex,
34c3ea65d6d1 templates: support linking to main help page
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27578
diff changeset
30 '<li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li>',
34c3ea65d6d1 templates: support linking to main help page
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27578
diff changeset
31 '<li class="current">help</li>'
34c3ea65d6d1 templates: support linking to main help page
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27578
diff changeset
32 )}
8355
5ba798f339c8 monoblue: add branches page
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
33 </ul>
5ba798f339c8 monoblue: add branches page
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
34 </div>
5ba798f339c8 monoblue: add branches page
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
35
26151
0dda3692ec9b monoblue: fix page subtitle on help pages
Anton Shestakov <av6@dwimlabs.net>
parents: 25872
diff changeset
36 <h2 class="no-link no-border">help</h2>
8355
5ba798f339c8 monoblue: add branches page
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
37 <table cellspacing="0">
30019
6ca3c54f801b hgweb: make anchor name actually match its href on help index page
Anton Shestakov <av6@dwimlabs.net>
parents: 27580
diff changeset
38 <tr><td colspan="2"><h2><a name="topics" href="#topics">Topics</a></h2></td></tr>
12666
ead4e21f49f1 web: add a help view for getting hg help output
Augie Fackler <durin42@gmail.com>
parents: 10138
diff changeset
39 {topics % helpentry}
ead4e21f49f1 web: add a help view for getting hg help output
Augie Fackler <durin42@gmail.com>
parents: 10138
diff changeset
40
27578
d35ff0b0d0da templates: make earlycommands and othercommands optional
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26151
diff changeset
41 {if(earlycommands, '
12666
ead4e21f49f1 web: add a help view for getting hg help output
Augie Fackler <durin42@gmail.com>
parents: 10138
diff changeset
42 <tr><td colspan="2"><h2><a name="main" href="#main">Main Commands</a></h2></td></tr>
ead4e21f49f1 web: add a help view for getting hg help output
Augie Fackler <durin42@gmail.com>
parents: 10138
diff changeset
43 {earlycommands % helpentry}
27578
d35ff0b0d0da templates: make earlycommands and othercommands optional
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26151
diff changeset
44 ')}
12666
ead4e21f49f1 web: add a help view for getting hg help output
Augie Fackler <durin42@gmail.com>
parents: 10138
diff changeset
45
27578
d35ff0b0d0da templates: make earlycommands and othercommands optional
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26151
diff changeset
46 {if(othercommands, '
12666
ead4e21f49f1 web: add a help view for getting hg help output
Augie Fackler <durin42@gmail.com>
parents: 10138
diff changeset
47 <tr><td colspan="2"><h2><a name="other" href="#other">Other Commands</a></h2></td></tr>
ead4e21f49f1 web: add a help view for getting hg help output
Augie Fackler <durin42@gmail.com>
parents: 10138
diff changeset
48 {othercommands % helpentry}
27578
d35ff0b0d0da templates: make earlycommands and othercommands optional
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26151
diff changeset
49 ')}
8355
5ba798f339c8 monoblue: add branches page
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
50 </table>
5ba798f339c8 monoblue: add branches page
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
51
8430
8b47efdf40ee monoblue: use newer template syntax everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8355
diff changeset
52 {footer}