]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/commit
Optimize the dependencies list
authorsmcv@ <smcv@>
Thu, 18 Jun 2009 14:54:53 +0000 (15:54 +0100)
committerSimon McVittie <smcv@ http://smcv.pseudorandom.co.uk/>
Sat, 25 Jul 2009 19:53:38 +0000 (20:53 +0100)
commitb72a83e973e7cbb15d57faaaf14f18b11d61102e
tree8e6178b848f11af0f83e5980a300274245eb8d80
parentc2215feeddadcf10a48d5ac9ae4cebb4bba4d898
Optimize the dependencies list

On a large wiki you can spend a lot of time reading through large lists
of dependencies to see whether files need to be rebuilt (album, with its
one-page-per-photo arrangement, suffers particularly badly from this).

The dependency list is currently a single pagespec, but it's not used like
a normal pagespec - in practice, it's a list of pagespecs joined with the
"or" operator.

Accordingly, change it to be stored as a list of pagespecs. On a wiki
with many tagged photo albums, this reduces the time to refresh after
`touch tags/*.mdwn` from about 31 to 25 seconds.

Getting the benefit of this change on an existing wiki requires a rebuild.
IkiWiki.pm
IkiWiki/Render.pm
ikiwiki-transition
t/index.t