aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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