Task #64361

Improve class loading performance

Added by Helmut Hummel 7 months ago. Updated 7 months ago.

Status:Resolved Start date:2015-01-19
Priority:Should have Due date:
Assigned To:- % Done:

100%

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

Description

Use composer class loader for better performance

Require composer class loader early in the bootstrap gives us many benefits:

1. Very early classes can be found and loaded very early in the bootstrap
2. Get rid of complexity for default cases
3. Test classes will only loadable in testing context
4. Cache warmup will be much faster as much less files need to be written


Related issues

related to Core - Bug #64669: Fix class alias functionality that was broken with compos... Closed 2015-01-30
related to Core - Bug #64376: Class aliases not respected in certain situations Resolved 2015-01-20
related to Core - Bug #64873: Make composer class loading case insensitive Resolved 2015-02-05
related to Core - Bug #65667: ObjectManager can't resolve underscored namespace classes... Resolved 2015-03-11
related to Core - Bug #65688: Using TYPO3_COMPOSER_AUTOLOAD requires post-autoload-dump... Resolved 2015-03-12
related to Core - Bug #57604: PackageManager is unable to resolve composer PSR-4 namesp... Closed 2014-04-03

Associated revisions

Revision 9b556438
Added by Helmut Hummel 7 months ago

[FEATURE] Use composer class loader for better performance

Require composer class loader early in the bootstrap gives us many benefits:

1. Very early classes can be found and loaded very early in the bootstrap
2. Get rid of complexity for default cases
3. Test classes will only loadable in testing context
4. Cache warmup will be much faster as much less files need to be written

Further details can be found on the wiki http://wiki.typo3.org/ComposerClassLoader

Resolves: #64361
Releases: master, 6.2
Change-Id: Ida22edf8383a9706726a8fdd11297b2983d17b1a

Revision 77966170
Added by Helmut Hummel 7 months ago

[FEATURE] Use composer class loader for better performance

Require composer class loader early in the bootstrap gives us many benefits:

1. Very early classes can be found and loaded very early in the bootstrap
2. Get rid of complexity for default cases
3. Test classes will only loadable in testing context
4. Cache warmup will be much faster as much less files need to be written

Further details can be found on the wiki http://wiki.typo3.org/ComposerClassLoader

Resolves: #64361
Releases: master, 6.2
Change-Id: Ida22edf8383a9706726a8fdd11297b2983d17b1a

Revision ef5068c6
Added by Helmut Hummel 7 months ago

[FEATURE] Use composer class loader for better performance

Require composer class loader early in the bootstrap gives us many benefits:

1. Very early classes can be found and loaded very early in the bootstrap
2. Get rid of complexity for default cases
3. Test classes will only loadable in testing context
4. Cache warmup will be much faster as much less files need to be written

Further details can be found on the wiki http://wiki.typo3.org/ComposerClassLoader

Resolves: #64361
Releases: master, 6.2
Change-Id: Ida22edf8383a9706726a8fdd11297b2983d17b1a

Revision f7434c49
Added by Helmut Hummel 7 months ago

[FEATURE] Use composer class loader for better performance

Require composer class loader early in the bootstrap gives us many benefits:

1. Very early classes can be found and loaded very early in the bootstrap
2. Get rid of complexity for default cases
3. Test classes will only loadable in testing context
4. Cache warmup will be much faster as much less files need to be written

Further details can be found on the wiki http://wiki.typo3.org/ComposerClassLoader

Resolves: #64361
Releases: master, 6.2
Change-Id: Ida22edf8383a9706726a8fdd11297b2983d17b1a

Revision 9f6ccce3
Added by Helmut Hummel 7 months ago

[FEATURE] Use composer class loader for better performance

Require composer class loader early in the bootstrap gives us many benefits:

1. Very early classes can be found and loaded very early in the bootstrap
2. Get rid of complexity for default cases
3. Test classes will only loadable in testing context
4. Cache warmup will be much faster as much less files need to be written

Further details can be found on the wiki http://wiki.typo3.org/ComposerClassLoader

Resolves: #64361
Releases: master, 6.2
Change-Id: Ida22edf8383a9706726a8fdd11297b2983d17b1a
Reviewed-on: http://review.typo3.org/36091
Reviewed-by: Wouter Wolters <>
Tested-by: Wouter Wolters <>
Reviewed-by: Markus Klein <>
Reviewed-by: Benjamin Mack <>
Tested-by: Benjamin Mack <>
Tested-by: Helmut Hummel <>
Reviewed-by: Helmut Hummel <>

Revision 2a4f702e
Added by Helmut Hummel 7 months ago

[FEATURE] Use composer class loader for better performance

Require composer class loader early in the bootstrap gives us many benefits:

1. Very early classes can be found and loaded very early in the bootstrap
2. Get rid of complexity for default cases
3. Test classes will only loadable in testing context
4. Cache warmup will be much faster as much less files need to be written

Further details can be found on the wiki http://wiki.typo3.org/ComposerClassLoader

Resolves: #64361
Releases: master, 6.2
Change-Id: Ida22edf8383a9706726a8fdd11297b2983d17b1a

Revision 15bde67f
Added by Helmut Hummel 7 months ago

[FEATURE] Use composer class loader for better performance

Require composer class loader early in the bootstrap gives us many benefits:

1. Very early classes can be found and loaded very early in the bootstrap
2. Get rid of complexity for default cases
3. Test classes will only loadable in testing context
4. Cache warmup will be much faster as much less files need to be written

Further details can be found on the wiki http://wiki.typo3.org/ComposerClassLoader

Resolves: #64361
Releases: master, 6.2
Change-Id: Ida22edf8383a9706726a8fdd11297b2983d17b1a
Reviewed-on: http://review.typo3.org/36124
Reviewed-by: Helmut Hummel <>
Tested-by: Helmut Hummel <>
Reviewed-by: Benjamin Mack <>
Tested-by: Benjamin Mack <>
Reviewed-by: Markus Klein <>
Tested-by: Markus Klein <>

Revision 89f9ec40
Added by Helmut Hummel 5 months ago

[BUGFIX] Resolve class name from aliases managed by composer

The old class loader has API to return the original class name
when given an alias. This API was not respected when implementing
composer class loading with #64361 with the result that it was
broken for all classes and aliases managed by the composer class loader.

To address this issue, the composer class loader is now injected into
the old class alias map, so that it can resolve class names from aliases
managed by it.

Related: #64361
Resolves: #65667
Releases: 6.2, master
Change-Id: If0b5098d72147fe7d76e97ee61c81d87cad72b4b
Reviewed-on: http://review.typo3.org/37825
Reviewed-by: Sascha Nowak <>
Tested-by: Sascha Nowak <>
Reviewed-by: Markus Klein <>
Tested-by: Markus Klein <>

Revision cf02cd79
Added by Helmut Hummel 5 months ago

[BUGFIX] Resolve class name from aliases managed by composer

The old class loader has API to return the original class name
when given an alias. This API was not respected when implementing
composer class loading with #64361 with the result that it was
broken for all classes and aliases managed by the composer class loader.

To address this issue, the composer class loader is now injected into
the old class alias map, so that it can resolve class names from aliases
managed by it.

Related: #64361
Resolves: #65667
Releases: 6.2, master
Change-Id: If0b5098d72147fe7d76e97ee61c81d87cad72b4b
Reviewed-on: http://review.typo3.org/37915
Reviewed-by: Helmut Hummel <>
Reviewed-by: Markus Klein <>
Reviewed-by: Nicole Cordes <>
Tested-by: Helmut Hummel <>

History

#1 Updated by Gerrit Code Review 7 months ago

  • Status changed from New to Under Review

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

#2 Updated by Gerrit Code Review 7 months ago

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

#3 Updated by Gerrit Code Review 7 months ago

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

#4 Updated by Gerrit Code Review 7 months ago

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

#5 Updated by Gerrit Code Review 7 months ago

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

#6 Updated by Gerrit Code Review 7 months ago

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

#7 Updated by Helmut Hummel 7 months ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100

#8 Updated by Gerrit Code Review 7 months ago

  • Status changed from Resolved to Under Review

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

#9 Updated by Gerrit Code Review 7 months ago

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

#10 Updated by Helmut Hummel 7 months ago

  • Status changed from Under Review to Resolved

#11 Updated by Gerrit Code Review 7 months ago

  • Status changed from Resolved to Under Review

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

#12 Updated by Helmut Hummel 7 months ago

  • Status changed from Under Review to Resolved

#13 Updated by Gerrit Code Review 7 months ago

  • Status changed from Resolved to Under Review

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

#14 Updated by Helmut Hummel 7 months ago

  • Status changed from Under Review to Resolved

Also available in: Atom PDF