[ 
https://issues.apache.org/jira/browse/HADOOP-1017?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12473793
 ] 

Owen O'Malley commented on HADOOP-1017:
---------------------------------------

I'd vote for the synchronized map. The failure mode would just be that you look 
up the constructor a second time.

> Optimization: Reduce Overhead from ReflectionUtils.newInstance
> --------------------------------------------------------------
>
>                 Key: HADOOP-1017
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1017
>             Project: Hadoop
>          Issue Type: Improvement
>          Components: util
>            Reporter: Ron Bodkin
>         Attachments: cacheCtor.patch, ReflectionUtils.patch.txt, 
> TestReflectionUtils.java
>
>
> I found that a significant amount of time on my project was being spent in 
> creating constructors for each row of data. I dramatically optimized this 
> performance by creating a simple WeakHashMap to cache constructors by class. 
> For example, in a sample job I find that ReflectionUtils.newInstance takes 
> 200 ms (2% of total) with the cache enabled, but it uses 900 ms (6% of total) 
> without the cache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to