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

Jacob S. Barrett commented on GEODE-6446:
-----------------------------------------

 !Screen Shot 2019-02-23 at 6.35.24 AM.png! 

{{FastStatisticsImpl}} uses {{AtomicLong}} to optimize gauge stats. In the 
attached graph you are looking at an asymmetric work load of X number threads 
are updating and 1 thread is reading the gauge in ops/second. It is somewhat 
unrealistic given that reads won't be occurring this frequently but it shows 
what impact the data structure has on the overall performance. The previous two 
implementations did not optimize for gauge. The {{LocalStatisticsImpl}} is 
optimized for gauge but is not threads safe so it is left off this graph 
because it cheats.

> Optimize gauge type stats
> -------------------------
>
>                 Key: GEODE-6446
>                 URL: https://issues.apache.org/jira/browse/GEODE-6446
>             Project: Geode
>          Issue Type: Improvement
>          Components: statistics
>            Reporter: Jacob S. Barrett
>            Priority: Major
>         Attachments: Screen Shot 2019-02-23 at 6.35.24 AM.png
>
>
> The new {{StripedStatisticsImpl}} uses {{LongAdder}} and {{DoubleAdder}}, 
> which are not optimized for setting specific values like one would with a 
> gauge type statistic. As such, {{StripedStatisticsImpl}} has to synchronize 
> set and get operations to avoid races. Consider optimization that uses 
> {{AtomicLong}} or well suited structure.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to