You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by GitBox <gi...@apache.org> on 2019/06/15 05:11:14 UTC

[GitHub] [skywalking] lkxiaolou edited a comment on issue #2874: Rewrite AtomicRangeInteger for higher performance

lkxiaolou edited a comment on issue #2874: Rewrite AtomicRangeInteger for higher performance
URL: https://github.com/apache/skywalking/pull/2874#issuecomment-502335556
 
 
   > @lkxiaolou Please confirm, from the benchmark result, 3x improvement not 5+. Right?
   
   It depends on the buffer size and threads count, I make a test with 10000 buffer size and 1024 threads get 5+improvement.
   Theoretically, the bigger buffer size and the more threads make the more improvement, at least 3x.
   
   > # JMH version: 1.21
   # VM version: JDK 1.8.0_111, Java HotSpot(TM) 64-Bit Server VM, 25.111-b14
   # VM invoker: /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/bin/java
   # VM options: -Dfile.encoding=UTF-8
   # Warmup: 3 iterations, 10 s each
   # Measurement: 5 iterations, 1000 ms each, 1000 calls per op
   # Timeout: 10 min per iteration
   # Threads: 1024 threads, ***WARNING: Synchronize iterations are disabled!***
   # Benchmark mode: Throughput, ops/time
   # Benchmark: org.apache.skywalking.apm.commons.datacarrier.common.AtomicRangeIntegerTest.testNewGetAndIncrementPerformance
   
   # Run progress: 0.00% complete, ETA 00:01:10
   # Fork: 1 of 1
   # Warmup Iteration   1: 2078993549.108 ops/s
   # Warmup Iteration   2: 6408026002.297 ops/s
   # Warmup Iteration   3: 5455960135.636 ops/s
   Iteration   1: 165330.972 ops/s
   Iteration   2: 95420.526 ops/s
   Iteration   3: 173340.089 ops/s
   Iteration   4: 94214.669 ops/s
   Iteration   5: 261606.088 ops/s
   
   
   Result "org.apache.skywalking.apm.commons.datacarrier.common.AtomicRangeIntegerTest.testNewGetAndIncrementPerformance":
     157982.469 ±(99.9%) 265443.465 ops/s [Average]
     (min, avg, max) = (94214.669, 157982.469, 261606.088), stdev = 68934.825
     CI (99.9%): [≈ 0, 423425.934] (assumes normal distribution)
   
   
   # JMH version: 1.21
   # VM version: JDK 1.8.0_111, Java HotSpot(TM) 64-Bit Server VM, 25.111-b14
   # VM invoker: /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/bin/java
   # VM options: -Dfile.encoding=UTF-8
   # Warmup: 3 iterations, 10 s each
   # Measurement: 5 iterations, 1000 ms each, 1000 calls per op
   # Timeout: 10 min per iteration
   # Threads: 1024 threads, ***WARNING: Synchronize iterations are disabled!***
   # Benchmark mode: Throughput, ops/time
   # Benchmark: org.apache.skywalking.apm.commons.datacarrier.common.AtomicRangeIntegerTest.testOriGetAndIncrementPerformance
   
   # Run progress: 50.00% complete, ETA 00:00:43
   # Fork: 1 of 1
   # Warmup Iteration   1: 3345520433.355 ops/s
   # Warmup Iteration   2: 4823749249.799 ops/s
   # Warmup Iteration   3: 6676209367.819 ops/s
   Iteration   1: 34885.954 ops/s
   Iteration   2: 33128.147 ops/s
   Iteration   3: 31300.865 ops/s
   Iteration   4: 19188.602 ops/s
   Iteration   5: 34664.282 ops/s
   
   
   Result "org.apache.skywalking.apm.commons.datacarrier.common.AtomicRangeIntegerTest.testOriGetAndIncrementPerformance":
     30633.570 ±(99.9%) 25249.253 ops/s [Average]
     (min, avg, max) = (19188.602, 30633.570, 34885.954), stdev = 6557.151
     CI (99.9%): [5384.317, 55882.822] (assumes normal distribution)
   
   
   # Run complete. Total time: 00:01:26
   
   REMEMBER: The numbers below are just data. To gain reusable insights, you need to follow up on
   why the numbers are the way they are. Use profilers (see -prof, -lprof), design factorial
   experiments, perform baseline and negative tests that provide experimental control, make sure
   the benchmarking environment is safe on JVM/OS/HW level, ask for reviews from the domain experts.
   Do not assume the numbers tell you what you want them to tell.
   
   Benchmark                                                  Mode  Cnt       Score        Error  Units
   AtomicRangeIntegerTest.testNewGetAndIncrementPerformance  thrpt    5  157982.469 ± 265443.465  ops/s
   AtomicRangeIntegerTest.testOriGetAndIncrementPerformance  thrpt    5   30633.570 ±  25249.253  ops/s

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services