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