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