Juergen Hoeller opened SPR-16675 and commented
AnnotationUtils has had an internal annotated interface cache (#12286) as well as a general lookup cache (#16501) for a while. However, recent performance benchmarks showed that further significant gain can be achieved by turning the interface cache into an annotated base type cache, caching metadata about superclasses as well... in particular about non-annotated base classes that are never worth searching. We're also narrowing potential base type lookups to a set of candidate methods that carry any annotations to begin with, avoiding an often NoSuchMethodException-triggering Class.getMethod lookup for a base method in favor of matching against the candidate Method set from our cache.
Affects: 5.0.4
Issue Links:
0 votes, 5 watchers
Juergen Hoeller opened SPR-16675 and commented
AnnotationUtilshas had an internal annotated interface cache (#12286) as well as a general lookup cache (#16501) for a while. However, recent performance benchmarks showed that further significant gain can be achieved by turning the interface cache into an annotated base type cache, caching metadata about superclasses as well... in particular about non-annotated base classes that are never worth searching. We're also narrowing potential base type lookups to a set of candidate methods that carry any annotations to begin with, avoiding an oftenNoSuchMethodException-triggeringClass.getMethodlookup for a base method in favor of matching against the candidateMethodset from our cache.Affects: 5.0.4
Issue Links:
0 votes, 5 watchers