]> sipb.mit.edu Git - ikiwiki.git/commitdiff
Precompile pagespecs, about 10% overall speedup
authorJoey Hess <joey@kodama.kitenet.net>
Fri, 21 Mar 2008 10:36:07 +0000 (06:36 -0400)
committerJoey Hess <joey@kodama.kitenet.net>
Fri, 21 Mar 2008 10:36:07 +0000 (06:36 -0400)
About 12% of ikiwiki runtime was spent in pagespec_match. It was evaling
the same pagespec code over and over again. This changes pagespec_translate
to return memoized, precompiled functions that can be called to match against
a given pagespec.

This also allows getting rid of the weird variable scoping trick that had
to be in effect for pagespec_translate to be called -- the variables are
now just fed into the function it returns.

On my laptop, this drops build time for the docwiki from about 60 to 50
seconds.


No differences found