Several core components still access $GLOBALS['TYPO3_LOADED_EXT'] directly. Basically it's used to loop through the activated extensions and also to check if some extension is installed.
Since the Package Management, this array is being simulated by an object (LoadedExtensionsArray). Plan was to be able to add deprecation messages for accessing this array in future.
When accessing a FE with one USER_INT, accessing this object takes about 10% of the time.
It should be considered if we cannot generate the original array on first request, cache it, and then make the GLOBAL array available again to whoever uses it. It's just a list of extensions. The gain of the future possibility of throwing a deprecation message opposed to simply having this array as an array and be fast is probably not worth it.
[TASK] Improve performance of Bootstrap/PackageManager
This patch is a combined patch which tries to address
the findings from the Bootstrap/PackageManager/ClassLoader
Reviewed-by: Ernesto Baschny
Tested-by: Ernesto Baschny