[TYPO3-core] Feature #9633: Implement autoloading for TYPO3

Dmitry Dulepov dmitry.dulepov at gmail.com
Fri May 1 19:22:56 CEST 2009


Hi!

Oliver Hader wrote:
> The patch of the current RFC is partly based on your work. However,
> using a serialized array (different in FE and BE disposal) that contains
> all classes of core and extension files leads to some problems:
> * another deserialization of a large string on every request takes some time

This is faster than parsing PHP arrays or doing database queries. I made benchmarks. When compared to PHP arrays, it is nearly 10 times faster. This is why I opted to serialized configuration in RealURL.

Did anyone do a benchmark of Sebastian's solution?

> * using the autoloader during development (implementing and
> reviewing/testing) takes some more time, since the whole registry file
> has to be rebuild manually to enable autoloading for the new stuff

If I remember correctly, my patch solved that in some way.

> * rebuilding the registry on installing new extensions or removing some
> takes some time when many extensions are installed - it may cause
> "memory exceeded" and "max. script runtime exceeded" errors

May or may not. I remember I used set_timeout() in my version to prevent timeouts. With over 50 extensions loaded, registry rebuilding in my version takes less than 10 seconds.

For memory, you need at least 128M to realistically work with EM and large extensions. This is more than enough for my version of autoloader.

So these arguments do not really hit a point.

> (please see the message I've written in reply to Bernhard on 2009-05-01
> at 18:00 to get an overview how it works in the patch of this RFC)

I saw :)

> Yes, indeed! But the reason for that is, that it does not use any v4
> naming scheme during autoloading of classes, they are just taken from
> the mapping registry file...

...which makes it hard for developers. My patch has registry as well and it was seriously tested and optimized for performance. What about performance testing for this patch? Was there any such testing? Many frameworks have problems with autoloader performance. We should become yet another one.

-- 
Dmitry Dulepov
In TYPO3 blog: http://dmitry-dulepov.com/article/when-do-you-need-chash-in-typo3.html
LinkedIn: http://www.linkedin.com/in/dmitrydulepov
Twitter: http://twitter.com/dmitryd
Skype: liels_bugs


More information about the TYPO3-team-core mailing list