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

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

 !image.png! 
This chart shows a comparison between the old {{Atomic50StatisticsImpl}} and a 
new implementation based on {{LongAdder}}. Benchmark was executed on a Intel 
Core i9 2.9 GHz w 6 cores and Hyperthreading (12 total hardware threads).
{noformat}
  Model Name:   MacBook Pro
  Model Identifier:     MacBookPro15,1
  Processor Name:       Intel Core i9
  Processor Speed:      2.9 GHz
  Number of Processors: 1
  Total Number of Cores:        6
  L2 Cache (per Core):  256 KB
  L3 Cache:     12 MB
  Memory:       32 GB
{noformat}

> 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
>            Priority: Major
>         Attachments: image.png
>
>
> 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)

Reply via email to