]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/commitdiff
follow up: optimization partially restored
authorSimon McVittie <smcv@debian.org>
Mon, 8 Jun 2015 23:21:24 +0000 (00:21 +0100)
committerSimon McVittie <smcv@debian.org>
Mon, 8 Jun 2015 23:21:24 +0000 (00:21 +0100)
doc/bugs/template_creation_error.mdwn
doc/bugs/wrong_rendering_of_templatebody.mdwn
doc/templates/discussion.mdwn

index 81b8a5c581b116ff17dc28ed5cc56ad99864130c..9d6915b09d4a6b81674303d6f801c838bd8efa67 100644 (file)
@@ -239,7 +239,9 @@ same logic as IkiWiki itself. I don't think that's serious. --[[smcv]]
 >>>> during the render phase, namely when a page that is rendered
 >>>> due to dependencies uses a template that no other page being
 >>>> rendered in this pass was using. I've reverted this optimization,
->>>> to fix [[wrong rendering of templatebody]]. --[[smcv]]
+>>>> to fix [[wrong rendering of templatebody]], and applied a more
+>>>> limited version which only optimizes rebuilds (the worst case
+>>>> of this memory consumption). --[[smcv]]
 >>>
 >>> `%scanned` is likely to be no larger than `%rendered`, which
 >>> we already track, and whose useful lifetime does not overlap
@@ -270,6 +272,11 @@ same logic as IkiWiki itself. I don't think that's serious. --[[smcv]]
 >>>> decide whether to scan the template page, but would be generally more
 >>>> robust for future plugin writing.
 >>>>
+>>>>> At the moment templatebody really does need to re-scan templates in
+>>>>> the render phase, unfortunately. Not scanning in the render phase
+>>>>> seems to be precisely how [[wrong rendering of templatebody]]
+>>>>> happened. --s
+>>>>
 >>>> **addendum**: if the new phase state is used to create warnings/errors
 >>>> about improper ikiwiki api use of plugins (which is something i'd
 >>>> advocate), that should likewise warn if `add_link` actually adds a link in
index 93a687ab837317f0d96283635806cd0e72668d57..1a9377b68845dacf169d8fbd6d5aa2e27e5e4ea1 100644 (file)
@@ -21,9 +21,9 @@ description) and ignores the body itself (which is inside \[[!templatebody]]).
 > With a hint from [[kjs]] on [[templates/discussion]], I was able to reproduce
 > this bug. It seems to have been caused by an optimization: please try applying
 > [commit 5fd863b5](http://source.ikiwiki.branchable.com/?p=source.git;a=commitdiff;h=5fd863b5b05449669ec56c6798d836e3302386e2)
-> to your Render.pm. I'll try to work out a way to have the optimization
-> without the correctness impact, but for now, reverting the optimization,
-> which I have [[done]], seems like the way forward. --[[smcv]]
+> to your Render.pm. A follow-up commit partially brings back the optimization
+> (only for rebuilds). So I think this is [[done]]? (remove that link if
+> not) --[[smcv]]
 
 When I manually re-generate the wiki, it suddenly renders right. As soon as the
 page gets rebuilt automatically after some git push, it renders the wrong way.
index 612cced4499ff80df875e0fd57248eb83ed0805a..bf262ee206e8934765fd038b40b5a21cc99f082b 100644 (file)
@@ -59,6 +59,5 @@ album and img plugins. --[[kjs]]
 >> Thanks, that was the hint I needed to be able to reproduce this bug. It seems
 >> to have been caused by an optimization: please try applying
 >> [commit 5fd863b5](http://source.ikiwiki.branchable.com/?p=source.git;a=commitdiff;h=5fd863b5b05449669ec56c6798d836e3302386e2)
->> to your Render.pm. I'll try to work out a way to have the optimization
->> without the correctness impact, but for now, reverting the optimization
->> seems like the way forward. --s
+>> to your Render.pm. A follow-up commit partially restores the optimization,
+>> only for rebuilds. --[[smcv]]