view templates/map @ 1534:80a3d6a0af71

Optimize manifest.add Testing shows that manifest.add is spending a significant percentage of its time running calcoffsets and doing text = "".join(addlist). This patch removes the need for both of these by storying the manifest in a character array, and using a modified bisect search to find lines without the help of a separate index of line offsets. manifest.add was also reworked to push delta construction/combination into the main loop. Time to apply 2751 patches (without psyco, ext3 noatime,data=writeback): Stock hg: 4m45s real 3m32s user 55s sys patched: 2m48s real 1m53s user 43s sys quilt: 2m30s real 45s user 50s sys (quilt does much more io...)
author mason@suse.com
date Fri, 11 Nov 2005 18:20:22 -0800
parents 17703aa4491e
children 68ec7b9e09a4
line wrap: on
line source

default = "changelog"
header = header.tmpl
footer = footer.tmpl
search = search.tmpl
changelog = changelog.tmpl
naventry = "<a href="?cl=#rev#">#label#</a> "
filedifflink = "<a href="?fd=#node|short#;file=#file#">#file#</a> "
filenodelink = "<a href="?f=#filenode|short#;file=#file#">#file#</a> "
fileellipses = "..."
changelogentry = changelogentry.tmpl
searchentry = changelogentry.tmpl
changeset = changeset.tmpl
manifest = manifest.tmpl
manifestdirentry = "<tr class="parity#parity#"><td><tt>drwxr-xr-x</tt>&nbsp;<td><a href="?cmd=manifest;manifest=#manifest#;path=#path#">#basename#/</a>"
manifestfileentry = "<tr class="parity#parity#"><td><tt>#permissions|permissions#</tt>&nbsp;<td><a href="?f=#filenode|short#;file=#file#">#basename#</a>"
filerevision = filerevision.tmpl
fileannotate = fileannotate.tmpl
filediff = filediff.tmpl
filelog = filelog.tmpl
fileline = "<div class="parity#parity#"><span class="lineno">#linenumber#</span>#line|escape#</div>"
filelogentry = filelogentry.tmpl
annotateline = "<tr class="parity#parity#"><td class="annotate"><a href="?cs=#node|short#">#author|obfuscate#@#rev#</a></td><td><pre>#line|escape#</pre></td></tr>"
difflineplus = "<span class="plusline">#line|escape#</span>"
difflineminus = "<span class="minusline">#line|escape#</span>"
difflineat = "<span class="atline">#line|escape#</span>"
diffline = "#line|escape#"
changelogparent = "<tr><th class="parent">parent #rev#:</th><td class="parent"><a href="?cs=#node|short#">#node|short#</a></td></tr>"
changesetparent = "<tr><th class="parent">parent #rev#:</th><td class="parent"><a href="?cs=#node|short#">#node|short#</a></td></tr>"
filerevparent = "<tr><td class="metatag">parent:</td><td><a href="?f=#node|short#;file=#file#">#node|short#</a></td></tr>"
fileannotateparent = "<tr><td class="metatag">parent:</td><td><a href="?fa=#filenode|short#;file=#file#">#node|short#</a></td></tr>"
tags = tags.tmpl
tagentry = "<li class="tagEntry parity#parity#"><span class="node">#node#</span> <a href="?cs=#node|short#">#tag#</a></li>"
diffblock = "<pre class="parity#parity#">#lines#</pre>"
changelogtag = "<tr><th class="tag">tag:</th><td class="tag">#tag#</td></tr>"
changesettag = "<tr><th class="tag">tag:</th><td class="tag">#tag#</td></tr>"
filediffparent = "<tr><th class="parent">parent #rev#:</th><td class="parent"><a href="?cs=#node|short#">#node|short#</a></td></tr>"
filelogparent = "<tr><td align="right">parent #rev#:&nbsp;</td><td><a href="?f=#node|short#;file=#file#">#node|short#</a></td></tr>"
indexentry = "<tr class="parity#parity#"><td><a href="#url#">#name#</a></td><td>#shortdesc#</td><td>#contact|obfuscate#</td><td>#lastupdate|age# ago</td><td><a href="#url#?cl=tip;style=rss">RSS</a></td></tr>"
index = index.tmpl
archiveentry = "<a href="?ca=#node|short#;type=#type#">#type#</a> "
notfound = notfound.tmpl