Bug #26107

Proxy class builder rebuild classes without AOP on every change

Added by Christopher Hlubek over 10 years ago. Updated about 10 years ago.

Status:
Resolved
Priority:
Must have
Category:
-
Target version:
-
Start date:
2011-04-19
Due date:
% Done:

100%

Estimated time:
PHP Version:
Has patch:
Complexity:

Description

Since classes that don't get a proxy class (if they don't use DI or AOP) are not put inside the cache, the build method of the ProxyClassBuilder will not find a cache entry inside the classes cache (hasCacheEntryForClass is always false).

So one change of a file still means a lot of time to go through each of these classes and not building an AOP proxy for them on the next run.

One possibility would be to also cache classes without proxy code (means duplication) or to store information somewhere inside the object configuration cache (means some effort to keep it in sync if the class eventually introduces DI or AOP).


Related issues

Related to TYPO3.Flow - Bug #25965: AOP ProxyClassBuilder always detects an aspect as "changed" if no Dependency Injection is used in this aspect (f.e. in LazyLoadingObjectAspect)ResolvedKarsten Dambekalns2011-04-14

Actions
#1

Updated by Christopher Hlubek about 10 years ago

  • Status changed from New to Accepted
  • Assignee changed from Robert Lemke to Christopher Hlubek

I found a solution that seems to work. Inside the ProxyClassBuilder each target class that doesn't get a proxy is marked in the object configuration cache. But we have to cache each unproxied class individually to have separate cache tags.

I'll push a change request soon.

#2

Updated by Mr. Hudson about 10 years ago

Patch set 1 of change I5f75b00bccc4ef22a5214d4e4c227aa1c76e3f72 has been pushed to the review server.
It is available at http://review.typo3.org/1888

#3

Updated by Christopher Hlubek about 10 years ago

  • Status changed from Accepted to Under Review
#4

Updated by Mr. Hudson about 10 years ago

Patch set 2 of change I5f75b00bccc4ef22a5214d4e4c227aa1c76e3f72 has been pushed to the review server.
It is available at http://review.typo3.org/1888

#5

Updated by Christopher Hlubek about 10 years ago

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

Also available in: Atom PDF