From 992d4f52ff2801a48d85b65209cccc26efe8bd8c Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 16 Nov 2013 12:28:01 -0400 Subject: [PATCH] Fixed unncessary tight loop hash copy in saveindex where a pointer can be used instead. Can speed up refreshes by nearly 50% in some circumstances. I *think* this is ok, at least it results in close to the same index being saved as before. The difference is that plugins that have a pagestate of {} have that recorded this way, while with the tight loop, the key for the plugin in not copied in that case. I cannot see how this could matter. --- IkiWiki.pm | 6 +----- debian/changelog | 3 +++ 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/IkiWiki.pm b/IkiWiki.pm index 87ddb1b56..9ccb92a4d 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -1914,11 +1914,7 @@ sub saveindex () { } if (exists $pagestate{$page}) { - foreach my $id (@plugins) { - foreach my $key (keys %{$pagestate{$page}{$id}}) { - $index{page}{$src}{state}{$id}{$key}=$pagestate{$page}{$id}{$key}; - } - } + $index{page}{$src}{state}=$pagestate{$page}; } } diff --git a/debian/changelog b/debian/changelog index 92c97e947..fcd47494d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,9 @@ ikiwiki (3.20130904.2) UNRELEASED; urgency=low * aggregate: Improve display of post author. * poll: Fix behavior of poll buttons when inlined. + * Fixed unncessary tight loop hash copy in saveindex where a pointer + can be used instead. Can speed up refreshes by nearly 50% in some + circumstances. -- Joey Hess Thu, 05 Sep 2013 10:01:10 -0400 -- 2.32.0.93.g670b81a890