Bug #37915
Cache negative ux_* look up in autoloader
| Status: | Resolved | Start date: | 2012-06-11 | |
|---|---|---|---|---|
| Priority: | Should have | Due date: | ||
| Assignee: | - | % Done: | 100% |
|
| Category: | Default | |||
| Target version: | 6.0.0-alpha2 | |||
| TYPO3 Version: | 6.0 | Complexity: | medium | |
| PHP Version: | 5.3 | |||
| Votes: | 0 |
Description
For every class instance that is requested via
t3lib_div::makeInstance(), a lookup for ux_"classname" is done
and that class is instantiated if it exists, instead of the original
class. If no ux_ class is found with class_exists(), the requested class
is instantiated. This is the basic "XCLASS" handling in the core.
The patch adds autoloader rows for unsuccessful (NULL) ux_* lookups to the
autoloader cache file. The file is updated during shutdown. This way the
information that a XCLASS does NOT exist is cached between consecutive calls.
This leads to a performance improvement and is an advantage over the
current makeInstance class name cache that worked only for one call.
The old "cache for one call only" code is dropped with the patch.
Associated revisions
[FEATURE] Cache negative ux_* look up in autoloader
For every class instance that is requested via
t3lib_div::makeInstance(), a lookup for ux_"classname" is done
and that class is instantiated if it exists, instead of the original
class. If no ux_ class is found with class_exists(), the requested class
is instantiated. This is the basic "XCLASS" handling in the core.
The patch adds autoloader rows for unsuccessful (NULL) ux_* lookups to the
autoloader cache file. The file is updated during shutdown. This way the
information a XCLASS does NOT exist is cached between consecutive calls.
This leads to a performance improvement and is an advantage over the
current makeInstance class name cache that worked only for one call.
The old "cache for one call only" code is dropped with the patch.
Change-Id: I70573146600d658d218dc9b31694748341fc7a20
Resolves: #37915
Releases: 6.0
Reviewed-on: http://review.typo3.org/11943
Reviewed-by: Susanne Moog
Tested-by: Susanne Moog
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[FEATURE] Cache negative ux_* look up in autoloader
For every class instance that is requested via
t3lib_div::makeInstance(), a lookup for ux_"classname" is done
and that class is instantiated if it exists, instead of the original
class. If no ux_ class is found with class_exists(), the requested class
is instantiated. This is the basic "XCLASS" handling in the core.
The patch adds autoloader rows for unsuccessful (NULL) ux_* lookups to the
autoloader cache file. The file is updated during shutdown. This way the
information a XCLASS does NOT exist is cached between consecutive calls.
This leads to a performance improvement and is an advantage over the
current makeInstance class name cache that worked only for one call.
The old "cache for one call only" code is dropped with the patch.
Change-Id: I70573146600d658d218dc9b31694748341fc7a20
Resolves: #37915
Releases: 6.0
Reviewed-on: http://review.typo3.org/11943
Reviewed-by: Susanne Moog
Tested-by: Susanne Moog
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
History
Updated by Christian Kuhn 12 months ago
Fun fact: I've done about a dozen pre-patches in the bootstrap and autoloader area to make this happen ;)
Updated by Gerrit Code Review 12 months ago
- Status changed from New to Under Review
Patch set 1 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/11943
Updated by Gerrit Code Review 12 months ago
Patch set 2 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/11943
Updated by Gerrit Code Review 11 months ago
Patch set 3 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/11943
Updated by Christian Kuhn 11 months ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset c50007f71906f39fd5fb23dd043723ba4f20545f.