Project

General

Profile

Actions

Bug #20670

closed

Speed up BEgetRootLine by reusing parts of the rootline from the cache

Added by Fabrizio Branca almost 15 years ago. Updated over 13 years ago.

Status:
Closed
Priority:
Should have
Assignee:
Category:
-
Target version:
-
Start date:
2009-06-25
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
4.3
PHP Version:
5.2
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

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.

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.

(issue imported from #M11410)


Files

11410.patch (3.63 KB) 11410.patch Administrator Admin, 2009-06-25 10:38
11410_v2.patch (3.67 KB) 11410_v2.patch Administrator Admin, 2009-06-26 16:18

Related issues 1 (0 open1 closed)

Related to TYPO3 Core - Bug #20571: Use 2 level cache for BEgetRootLineClosed2009-06-05

Actions
Actions #1

Updated by Oliver Hader almost 15 years ago

Committed to SVN Trunk (rev. 5635)

Actions

Also available in: Atom PDF