Bug #17673
closedPerformance enhancements in BE, part 1
0%
Description
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.
(issue imported from #M6508)
Files