follow up: optimization partially restored

master
Simon McVittie 2015-06-09 00:21:24 +01:00
parent f00ccd0bf6
commit 020a9c8b40
3 changed files with 13 additions and 7 deletions

View 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

View 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.

View 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]]