[ 
https://issues.apache.org/jira/browse/ACCUMULO-4041?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14993895#comment-14993895
 ] 

Josh Elser commented on ACCUMULO-4041:
--------------------------------------

bq. Proposed patch. Could also cache the lookup in SiteConfiguration, too. I 
hope I don't have to so this for all the different annotations.

Did you happen to write any sort of micro-benchmark for testing this patch? 
Would be nice to be able to quantify how bad it was previously, and how much 
the cache approach helps.

> Java reflection eats too much CPU
> ---------------------------------
>
>                 Key: ACCUMULO-4041
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-4041
>             Project: Accumulo
>          Issue Type: Bug
>          Components: tserver
>    Affects Versions: 1.7.0
>         Environment: Ubuntu 15.10, jdk1.8.0_60
>            Reporter: Volth
>            Assignee: Eric Newton
>             Fix For: 1.7.1, 1.8.0
>
>         Attachments: ACCUMULO-4041-01.patch, ACCUMULO-4041-experiment.patch, 
> profiling.jpg
>
>
> This is called so many times that it eats too much CPU, even more than the 
> snappy compressor: http://i.imgur.com/vqX4pFi.png
> Perhaps the annotation data should be copied into regular variables which can 
> be accessed without reflection.
> - org.apache.accumulo.core.client.impl.Tables.getZooCache()
>   - 
> org.apache.accumulo.server.client.HdfsZooInstance.getZooKeepersSessionTimeOut()
>     - org.apache.accumulo.core.conf.AccumuloConfiguration.getTimeInMillis()
>       - org.apache.accumulo.core.conf.SiteConfiguration.get()
>         - org.apache.accumulo.core.conf.Property.isSensitive()
>           - org.apache.accumulo.core.conf.Property.hasAnnotation()
>             - java.lang.Class.getField()      



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to