Project

General

Profile

Actions

Task #54605

closed

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 10 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Should have
Category:
Extbase
Target version:
Start date:
2013-12-26
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
6.2
PHP Version:
Tags:
Complexity:
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.


Related issues 1 (0 open1 closed)

Related to TYPO3 Core - Task #68786: Replace @inject with inject methods in other extensionsClosedWouter Wolters2015-08-06

Actions
Actions #1

Updated by Gerrit Code Review over 10 years 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

Actions #2

Updated by Gerrit Code Review over 10 years 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

Actions #3

Updated by Markus Klein over 10 years ago

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

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

Actions #4

Updated by Marc Bastian Heinrichs about 10 years ago

  • Category set to Extbase
  • Assignee set to Marc Bastian Heinrichs
  • Target version set to next-patchlevel
  • Parent task set to #55656
Actions #5

Updated by Marc Bastian Heinrichs about 10 years ago

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

Actions #6

Updated by Gerrit Code Review about 10 years 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

Actions #7

Updated by Gerrit Code Review over 8 years ago

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

Actions #8

Updated by Gerrit Code Review over 8 years ago

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

Actions #9

Updated by Gerrit Code Review over 8 years ago

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

Actions #10

Updated by Wouter Wolters over 8 years ago

  • Status changed from Under Review to Resolved
Actions #11

Updated by Gerrit Code Review over 8 years ago

  • Status changed from Resolved to Under Review

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

Actions #12

Updated by Wouter Wolters over 8 years ago

  • Status changed from Under Review to Resolved
Actions #13

Updated by Benni Mack over 5 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF