[ https://issues.apache.org/jira/browse/CAY-1998?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrus Adamchik closed CAY-1998. -------------------------------- Resolution: Fixed Fix Version/s: 4.0.M3 Ended up with a solution precompiling property path to a linked list of unresolved Accessors. When each object is evaluated, each path component has to look up a "segment" Accessor in the cache, and then call it to get the value. Perhaps we'll be able to build something more efficient with java 7 MethodHandles (as those do not require us to know upfront the type of the target object for evaluation). Still need to run performance tests. > Speeding up PropertyUtils > ------------------------- > > Key: CAY-1998 > URL: https://issues.apache.org/jira/browse/CAY-1998 > Project: Cayenne > Issue Type: Improvement > Reporter: Andrus Adamchik > Assignee: Andrus Adamchik > Fix For: 4.0.M3 > > > PropertyUtils are very slow (especially in multi-threaded apps) when working > with POJOs as every call to 'getProperty' results in java.beans.Introspector > call , that is synchronized and slow. Hoping that replacing this with an > internal cache of accessors per path would improve the situation. -- This message was sent by Atlassian JIRA (v6.3.4#6332)