cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrus Adamchik (JIRA)" <j...@apache.org>
Subject [jira] [Closed] (CAY-1998) Speeding up PropertyUtils
Date Thu, 02 Apr 2015 18:04:55 GMT

     [ 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)

Mime
View raw message