On 6/14/06, Rob Church robchur@gmail.com wrote:
On 14/06/06, Steve Bennett stevage@gmail.com wrote:
Also, is it true to say that the transclusion only takes place the next time the page is modified and resaved?
When an uncached form of the parsed markup is needed, or when the cache expires next, the entire page will be re-parsed, during which time the transclusion will be parsed as well.
An edit or purge before that time will cause invalidation of all the cached forms for that page.
Ok, probably stupid question, but can you tell me, in the case where X transcludes Y which transcludes Z, then X changes, does Z have to be reparsed? Or is Y's cached version substituted as it is?
Also, what exactly is so slow about the transclusion? Raw inclusion of source code from another source is not typically a particularly expensive operation, when thinking of C's #INCLUDE, for example. Is it the finding of the transcluded page by name, or what?
Or could it be theoretically possible to cache page sections rather than whole pages, to reduce the risk of having to reparse the whole page, or something?
Bots going around substituting all templates wholesale just seems like such an undesirable thing if we could possibly avoid it...
Steve