X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/d6ff694ff7a6a4700ccbbd5819907eac73cf065a..81aa58e7ca0118fbb6e1b7f53e47f01d260cdbff:/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn diff --git a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn index de3cf48d3..4e1df3381 100644 --- a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn +++ b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn @@ -43,12 +43,21 @@ Here's my patch - please consider it! -- [[KathrynAndersen]] >>>>>> `/^/i` regexp that can be used without further modifiction in most >>>>>> cases. --[[Joey]] ->>>>>>> Done, see `smcv/ready/glob-cache`. +>>>>>>> Done, see `smcv/ready/glob-cache` and `smcv/glob-cache-too-far`. +>>>>>>> >>>>>>> Kathryn's patch is a significant improvement; my first patch on top of ->>>>>>> that is a trivial cleanup that speeds it up a little, and the other two +>>>>>>> that is a trivial cleanup that speeds it up a little, and the next two >>>>>>> patches (using precompiled regexes) have surprisingly little effect >>>>>>> (they don't slow it down either though, so either omit them or merge ->>>>>>> them, whichever). Detailed benchmark results --[[smcv]] +>>>>>>> them, whichever). Detailed benchmark results below. +>>>>>>> +>>>>>>> Moving the memoization to `glob2re` actually seems to slow things down +>>>>>>> again - I suspect the docwiki has few enough mentions of `user()` etc. +>>>>>>> that caching them is a waste of time, but perhaps it's not the most +>>>>>>> representative. +>>>>>>> --[[smcv]] + +[[done]] --[[Joey]] -------------------------------------------------------------- @@ -120,9 +129,21 @@ master at time of branch: 7.70 1.7814 79514 0.000022 IkiWiki::PageSpec::match_glob 3.35 0.7756 59454 0.000013 :IkiWiki/Plugin/inline.pm:223 -"""]] +`move memoization from match_glob to glob2re`: + + time elapsed (wall): 28.7677 + time running program: 23.9473 (83.24%) + time profiling (est.): 4.8205 (16.76%) + number of calls: 1360181 + number of exceptions: 13 + + %Time Sec. #calls sec/call F name + 13.98 3.3469 3408 0.000982 Text::Balanced::_match_tagged + 8.85 2.1194 79514 0.000027 IkiWiki::PageSpec::match_glob + 3.24 0.7750 59454 0.000013 :IkiWiki/Plugin/inline.pm:223 --[[smcv]] +"""]] --------------------------------------------------------------