Task #54605

Epic #55070: Workpackages

Epic #55065: WP: Overall System Performance (Backend and Frontend)

Epic #55656: Optimize overall Extbase performance

Inject annotations should not be used by core (~5% performance)

Added by Claus Due over 1 year ago. Updated over 1 year ago.

Status:Under Review Start date:2013-12-26
Priority:Should have Due date:
Assigned To:Marc Bastian Heinrichs % Done:

100%

Category:Extbase Spent time: -
Target version:next-patchlevel
TYPO3 Version:6.2 Complexity:
PHP Version: Sprint Focus:

Description

The case:

Using inject annotations requires the Reflection framework to do expensive runtime analysis of all classes that get loaded (given: only once, if they are Singletons). This extra overhead (I measured it to around 5% in a pretty basic environment with a few extbase plugins) can be very easily avoided by always using injection methods.

I would personally have the core's classes always use injection methods to increase performance of the base system - and warn users in documentation, that inject annotations should be expected to slow down the code by approximately 5% (also affecting cached contexts, especially affecting the backend).

In our quest for better performance we can take this very easy path without any damage.

A revert merge request is coming right up.

History

#1 Updated by Gerrit Code Review over 1 year ago

  • Status changed from New to Under Review

Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/26565

#2 Updated by Gerrit Code Review over 1 year ago

Patch set 3 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/26565

#3 Updated by Markus Klein over 1 year ago

Please check if #52040 should be reverted as well then.

Maybe also search the complete log for such @inject changes.

#4 Updated by Marc Bastian Heinrichs over 1 year ago

  • Category set to Extbase
  • Assigned To set to Marc Bastian Heinrichs
  • Target version set to next-patchlevel
  • Parent task set to #55656

#5 Updated by Marc Bastian Heinrichs over 1 year ago

I'm on evaluating this and have a new patchset in the pipeline.

#6 Updated by Gerrit Code Review over 1 year ago

Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/29453

Also available in: Atom PDF