[TYPO3-core] Extension Manager performance: caching ext_emconf data

François Suter fsu-lists at cobweb.ch
Thu Apr 17 17:40:32 CEST 2014


Hi all,

The 6.x EM, although blessed with a far cleaner code base than ever 
before, is still slow. This is mostly due to having to read all the 
ext_emconf.php files. I was wondering if anyone had already tried to 
cache that information?

The way I see it we could read all those files and store their content 
in an associative array with the extension key as key (heh!). This could 
be stored in cache and would make the list view much faster. It is easy 
to clear this cache when an extension is installed, uninstalled or 
updated. The only issue there could is during development, where 
extension information might change without an action inside the EM. 
However I think this is fine on a development system, and the cache 
could be flushed with other system caches.

A big advantage of having extension information more quickly accessible, 
is that it would make it easier to tackle the ordering problem [1][2]. 
Indeed having to read al ext_emconf.php files just to gather which 
extensions have what priority makes it a real time-consuming process. 
This would also speed up the dependency resolving process I guess.

Now I'm not familiar with the recent work on package management, so I'm 
not sure how my idea could fit in there. What do you think?

I don't have time to work on this right now, but I think it's a major 
issue to tackle for 6.2, not only the performance thing, but also the 
ordering. Since 6.2 will be around for a long time, I can't imagine 
myself having to reorder manually my extensions after each update for 
the next 3 years (at least!).

Cheers

-- 

Francois Suter

Work: Cobweb Development Sarl - http://www.cobweb.ch

TYPO3: Help the project! - http://typo3.org/contribute/

Appreciate my work? Support me -
http://www.monpetitcoin.com/en/francois/support-me/

[1] http://forge.typo3.org/issues/51021
[2] http://forge.typo3.org/issues/51069



More information about the TYPO3-team-core mailing list