[TYPO3-core] RFC #11410: Speed up BEgetRootLine by reusing parts of the rootline from the cache

Fabrizio Branca news at _REMOVETHIS_fabrizio-branca.de
Thu Jun 25 10:44:09 CEST 2009


This is an SVN patch request.

Type: New feature/Code cleanup?

Bugtracker references:
http://bugs.typo3.org/view.php?id=11410

Branches:
trunk

Problem:
Now t3lib_BEfunc::BEgetRootLine() caches whole rootlines without reusing 
the cache for subparts of other rootlines. Especially in the backend 
(e.g. on heavy operation that call BEgetRootLine on multiple pages) this 
means that the same pages will be queried over and over again appearing 
in different rootlines.

Solution:
By restructuring the cache and refactroring the method is possible to 
store single pages into the cache and reuse those cache entries to build 
new rootlines.

After appling my patch I amount of select statements was reduced to 50% 
and profiling shows that the BEgetRootLine was 200% faster (when adding 
the whole pagetree wo the crawler queue)

BEgetRootLine behaves like it does before and the restructured cache in 
$GLOBALS['T3_VAR']['BEgetRootLine_cache'] is not used in other places in 
the core.

Bye,

Fabrizio
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 11410.patch
Url: http://lists.netfielders.de/pipermail/typo3-team-core/attachments/20090625/ea3ad012/attachment.txt 


More information about the TYPO3-team-core mailing list