[TYPO3-core] RFC: Performance enhancements in BE, part 1

Dmitry Dulepov 9f4eetb02 at sneakemail.com
Tue May 15 10:25:46 CEST 2007


This is SVN patch request.

Branch: trunk

Problem: dummy BE module with no code at all takes 1 second to load. I
started profiling and found that some functions do not process data
effectively. One of the most time consuming is
t3lib_extMgm::addToAllTCAtypes(). It loops over "types" array even if
there is no need for it and calls trim() several times on the same
variable. Though it all takes milliseconds, it is still 30% of all time
in request. I do not think it is acceptable. // Another time consuming 
function is t3lib_div:loadTCA(). I could optimize it too by using 
shortcuts to inside of TCA array. // Time numbers were 134 and 108ms for 
extMgm and t3lib_div, now they are 32 and 44ms. This is not a big change 
but these are the most time consuming functions, they take more than 
INSERT/UPDATE calls to MySQL! The more extensions are installed, the 
more time these functions take.

Solution: optimize function to skip loop when it is not necessary and 
use shortcuts to TCA array. Patches are supplied separately.

I am going to continue investigation and find other weak places.

Dmitry Dulepov

Web: http://typo3bloke.net/
Skype: callto:liels_bugs

"It is our choices, that show what we truly are,
far more than our abilities." (A.P.W.B.D.)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: perf1-before.png
Type: image/png
Size: 10696 bytes
Desc: not available
Url : http://lists.netfielders.de/pipermail/typo3-team-core/attachments/20070515/cd9b577f/attachment-0002.png 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: perf1-after.png
Type: image/png
Size: 10387 bytes
Desc: not available
Url : http://lists.netfielders.de/pipermail/typo3-team-core/attachments/20070515/cd9b577f/attachment-0003.png 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: em_perf_enh.patch
Url: http://lists.netfielders.de/pipermail/typo3-team-core/attachments/20070515/cd9b577f/attachment-0001.pot 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: t3lib_div_loadtca.patch
Url: http://lists.netfielders.de/pipermail/typo3-team-core/attachments/20070515/cd9b577f/attachment-0001.asc 

More information about the TYPO3-team-core mailing list