summaryrefslogtreecommitdiff
path: root/doc/recentchanges/change_c9b737cc8596f9421ba968e56839eb052e80e794._change
blob: 6ea4e0e206e5520c35f53cee4f041782508c8b79 (plain)
  1. [[!meta author="""http://smcv.pseudorandom.co.uk/"""]]
  2. [[!meta authorurl="""http://smcv.pseudorandom.co.uk/"""]]
  3. [[!meta title="""change to todo/Improving_the_efficiency_of_match__95__glob on ikiwiki"""]]
  4. [[!meta permalink="http://ikiwiki.info/recentchanges/#change-c9b737cc8596f9421ba968e56839eb052e80e794"]]
  5. <div id="change-c9b737cc8596f9421ba968e56839eb052e80e794" class="metadata">
  6. <span class="desc"><br />Changed pages:</span>
  7. <span class="pagelinks">
  8. <a href="http://git.ikiwiki.info/?p=ikiwiki;a=blobdiff;f=doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn;h=4fe14540fa3c543fb3240acdb63aa057e259bcfb;hp=de3cf48d3aae963943dfeb3aaffb2edd6f472ef8;hb=c9b737cc8596f9421ba968e56839eb052e80e794;hpb=d6ff694ff7a6a4700ccbbd5819907eac73cf065a" title="diff" rel="nofollow">[[diff|wikiicons/diff.png]]</a><a href="http://ikiwiki.info/ikiwiki.cgi?page=todo%2FImproving_the_efficiency_of_match__95__glob&amp;do=goto" rel="nofollow">todo/Improving the efficiency of match&#95;glob</a>
  9. </span>
  10. <span class="desc"><br />Changed by:</span>
  11. <span class="committer">
  12. <a href="http://smcv.pseudorandom.co.uk/" rel="nofollow">smcv</a>
  13. </span>
  14. <span class="desc"><br />Commit type:</span>
  15. <span class="committype">web</span>
  16. <span class="desc"><br />Date:</span>
  17. <span class="changedate"><span class="relativedate" title="Sat, 20 Nov 2010 00:36:29 +0000">00:36:29 11/20/10</span></span>
  18. <span class="desc"><br /></span>
  19. </div>
  20. <span class="revert">
  21. <a href="http://ikiwiki.info/ikiwiki.cgi?rev=c9b737cc8596f9421ba968e56839eb052e80e794&amp;do=revert" title="revert" rel="nofollow">[[revert|wikiicons/revert.png]]</a>
  22. </span>
  23. <div class="changelog">
  24. one more patch: but expanding the memoization is actually a slowdown for the docwiki<br />
  25. </div>
  26. <div class="diff">
  27. <pre>
  28. diff --git a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
  29. index de3cf48..4fe1454 100644
  30. --- a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
  31. +++ b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
  32. @@ -43,12 +43,19 @@ Here&#39;s my patch - please consider it! -- &#91;&#91;KathrynAndersen&#93;&#93;
  33. &gt;&gt;&gt;&gt;&gt;&gt; `/^/i` regexp that can be used without further modifiction in most
  34. &gt;&gt;&gt;&gt;&gt;&gt; cases. --&#91;&#91;Joey&#93;&#93;
  35. -&gt;&gt;&gt;&gt;&gt;&gt;&gt; Done, see `smcv/ready/glob-cache`.
  36. +&gt;&gt;&gt;&gt;&gt;&gt;&gt; Done, see `smcv/ready/glob-cache` and `smcv/glob-cache-too-far`.
  37. +&gt;&gt;&gt;&gt;&gt;&gt;&gt;
  38. &gt;&gt;&gt;&gt;&gt;&gt;&gt; Kathryn&#39;s patch is a significant improvement; my first patch on top of
  39. -&gt;&gt;&gt;&gt;&gt;&gt;&gt; that is a trivial cleanup that speeds it up a little, and the other two
  40. +&gt;&gt;&gt;&gt;&gt;&gt;&gt; that is a trivial cleanup that speeds it up a little, and the next two
  41. &gt;&gt;&gt;&gt;&gt;&gt;&gt; patches (using precompiled regexes) have surprisingly little effect
  42. &gt;&gt;&gt;&gt;&gt;&gt;&gt; (they don&#39;t slow it down either though, so either omit them or merge
  43. -&gt;&gt;&gt;&gt;&gt;&gt;&gt; them, whichever). Detailed benchmark results --&#91;&#91;smcv&#93;&#93;
  44. +&gt;&gt;&gt;&gt;&gt;&gt;&gt; them, whichever). Detailed benchmark results below.
  45. +&gt;&gt;&gt;&gt;&gt;&gt;&gt;
  46. +&gt;&gt;&gt;&gt;&gt;&gt;&gt; Moving the memoization to `glob2re` actually seems to slow things down
  47. +&gt;&gt;&gt;&gt;&gt;&gt;&gt; again - I suspect the docwiki has few enough mentions of `user()` etc.
  48. +&gt;&gt;&gt;&gt;&gt;&gt;&gt; that caching them is a waste of time, but perhaps it&#39;s not the most
  49. +&gt;&gt;&gt;&gt;&gt;&gt;&gt; representative.
  50. +&gt;&gt;&gt;&gt;&gt;&gt;&gt; --&#91;&#91;smcv&#93;&#93;
  51. --------------------------------------------------------------
  52. @@ -120,9 +127,21 @@ master at time of branch:
  53. 7.70 1.7814 79514 0.000022 IkiWiki::PageSpec::match_glob
  54. 3.35 0.7756 59454 0.000013 &lt;anon&gt;:IkiWiki/Plugin/inline.pm:223
  55. -&quot;&quot;&quot;&#93;&#93;
  56. +`move memoization from match_glob to glob2re`:
  57. +
  58. + time elapsed (wall): 28.7677
  59. + time running program: 23.9473 (83.24%)
  60. + time profiling (est.): 4.8205 (16.76%)
  61. + number of calls: 1360181
  62. + number of exceptions: 13
  63. +
  64. + %Time Sec. #calls sec/call F name
  65. + 13.98 3.3469 3408 0.000982 Text::Balanced::_match_tagged
  66. + 8.85 2.1194 79514 0.000027 IkiWiki::PageSpec::match_glob
  67. + 3.24 0.7750 59454 0.000013 &lt;anon&gt;:IkiWiki/Plugin/inline.pm:223
  68. --&#91;&#91;smcv&#93;&#93;
  69. +&quot;&quot;&quot;&#93;&#93;
  70. --------------------------------------------------------------
  71. </pre>
  72. </div>
  73. <!-- c9b737cc8596f9421ba968e56839eb052e80e794 -->