[TYPO3-mvc] Performance of $persistenceManager->persistAll() (Dispatcher) and findAll() (Repository)

Jochen Rau jochen.rau at typoplanet.de
Tue Jan 12 22:35:06 CET 2010


Hi.

On 11.01.10 08:32, Dominik Stankowski wrote:
> However, I was wondering if there is a way to improve performance
> slightly, as both methods consume about 5s each to load 300 records
> (with 2 sub-records each - let's call them "type" and "cat"). The whole
> page loads in about 12s.

There is much room for improvement in the Persistence_Backend and the 
DataMapper. We have to target this for 4.4. I would be glad if some more 
people can dig a little bit deeper into these classes (other than 
Sebastian, Masi and me ;-)) and come up with some code improvements.

> For findAll(), we have applied lazy loading where possible which has
> slightly improved the output. Is there a way the objects could be cached
> so that they would be available with the next call instead of being
> loaded again?

The only cache for objects is the database. In FLOW3 there is a session 
scope for objects. But the usecase for such a scope is different from 
"caching".

> For the persistence manager, I am wondering if there would be a way to
> enable/disable it, especially for views which are not modifying data.

If you don't modify the data of an object Extbase will not hit the 
database with UPDATE or INSERT. Maybe you encountered a bug.

Jochen



More information about the TYPO3-project-typo3v4mvc mailing list