Jacob S. Barrett created GEODE-6424:
---------------------------------------
Summary: Reduce overhead of stats storage
Key: GEODE-6424
URL: https://issues.apache.org/jira/browse/GEODE-6424
Project: Geode
Issue Type: Improvement
Components: statistics
Reporter: Jacob S. Barrett
The current stats storage system is based on a very old and complicated
implementation of a thread striped counter. See {{Atomic50StatisticsImpl}}.
This implementation makes now incorrect assumptions about certain performance
characteristics of volatile memory access. Combined with it's complexity it is
causing large variances in performance numbers on the function benchmarks. Runs
can differ by as much as 45%.
Replace this implementation with one based on the Java 8 {{LongAdder}}, which
is a modern and JDK maintained implementation of a striped counter. Also use
{{DoubleAdder}} to support doubles, which the {{Atomic50StatisticsImpl}} does
not support.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)