aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-07-04 16:18:18 +0000
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-07-04 16:18:18 +0000
commit87a1d3ff8fb43d219c6f685600a103df43cef4c1 (patch)
tree7f3956a2f5b8eb1ef0c81b1e2d33fac8eb9213b6
parent6ab0659a9debfcc1be37c71a15e4e1490d1b736a (diff)
downloadikiwiki-87a1d3ff8fb43d219c6f685600a103df43cef4c1.tar
ikiwiki-87a1d3ff8fb43d219c6f685600a103df43cef4c1.tar.gz
* Encode & in diffurl in examples, to conform to pedantic rules.
* Speed up RecentChanges by another 40% or so with some memoization.
-rw-r--r--IkiWiki/CGI.pm7
-rw-r--r--debian/changelog5
2 files changed, 10 insertions, 2 deletions
diff --git a/IkiWiki/CGI.pm b/IkiWiki/CGI.pm
index 3e4cbe4cf..424ce2c78 100644
--- a/IkiWiki/CGI.pm
+++ b/IkiWiki/CGI.pm
@@ -34,6 +34,13 @@ sub cgi_recentchanges ($) { #{{{
unlockwiki();
+ # Optimisation: building recentchanges means calculating lots of
+ # links. Memoizing htmllink speeds it up a lot (can't be memoized
+ # during page builds as the return values may change, but they
+ # won't here.)
+ eval q{use Memoize};
+ memoize("htmllink");
+
my $template=template("recentchanges.tmpl");
$template->param(
title => "RecentChanges",
diff --git a/debian/changelog b/debian/changelog
index 40247ffab..d248d2689 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -44,9 +44,10 @@ ikiwiki (1.8) UNRELEASED; urgency=low
about 35% speedup displaying RecentChanges!
* Make RecentChanges use a table and some CSS, should be much more readable.
No code changes involved.
- * Encode & in diffurl in examples, to conform to pedantic rules.
+ * Encode & in diffurl in examples, to conform to pedantic rules.
+ * Speed up RecentChanges by another 40% or so with some memoization.
- -- Joey Hess <joeyh@debian.org> Tue, 4 Jul 2006 01:42:28 -0400
+ -- Joey Hess <joeyh@debian.org> Tue, 4 Jul 2006 12:16:39 -0400
ikiwiki (1.7) unstable; urgency=low