JMH version: 1.21

VM version: JDK 1.8.0_412, OpenJDK 64-Bit Server VM, 25.412-b08

VM invoker: /opt/hostedtoolcache/Java_Adopt_jdk/8.0.412-8/x64/jre/bin/java

VM options: -Xmx1g -Xms1g -XX:MaxDirectMemorySize=1g -XX:+UseG1GC -Dserver.host=localhost -Dserver.port=8080 -Dbenchmark.output=dubbo-native-hessian_output.md

Warmup: 1 iterations, 1 s each

Measurement: 1 iterations, 1 s each

Timeout: 10 min per iteration

Threads: 32 threads, will synchronize iterations

Benchmark mode: Throughput, ops/time

Benchmark: org.apache.dubbo.benchmark.ClientSimple.createUser

Run progress: 0.00% complete, ETA 00:00:24

Fork: 1 of 1

Warmup Iteration 1: 2.134 ops/ms

Iteration 1: 5.393 ops/ms

Result “org.apache.dubbo.benchmark.ClientSimple.createUser”: 5.393 ops/ms

JMH version: 1.21

VM version: JDK 1.8.0_412, OpenJDK 64-Bit Server VM, 25.412-b08

VM invoker: /opt/hostedtoolcache/Java_Adopt_jdk/8.0.412-8/x64/jre/bin/java

VM options: -Xmx1g -Xms1g -XX:MaxDirectMemorySize=1g -XX:+UseG1GC -Dserver.host=localhost -Dserver.port=8080 -Dbenchmark.output=dubbo-native-hessian_output.md

Warmup: 1 iterations, 1 s each

Measurement: 1 iterations, 1 s each

Timeout: 10 min per iteration

Threads: 32 threads, will synchronize iterations

Benchmark mode: Throughput, ops/time

Benchmark: org.apache.dubbo.benchmark.ClientSimple.existUser

Run progress: 8.33% complete, ETA 00:01:18

Fork: 1 of 1

Warmup Iteration 1: 5.616 ops/ms

Iteration 1: 10.769 ops/ms

Result “org.apache.dubbo.benchmark.ClientSimple.existUser”: 10.769 ops/ms

JMH version: 1.21

VM version: JDK 1.8.0_412, OpenJDK 64-Bit Server VM, 25.412-b08

VM invoker: /opt/hostedtoolcache/Java_Adopt_jdk/8.0.412-8/x64/jre/bin/java

VM options: -Xmx1g -Xms1g -XX:MaxDirectMemorySize=1g -XX:+UseG1GC -Dserver.host=localhost -Dserver.port=8080 -Dbenchmark.output=dubbo-native-hessian_output.md

Warmup: 1 iterations, 1 s each

Measurement: 1 iterations, 1 s each

Timeout: 10 min per iteration

Threads: 32 threads, will synchronize iterations

Benchmark mode: Throughput, ops/time

Benchmark: org.apache.dubbo.benchmark.ClientSimple.getUser

Run progress: 16.67% complete, ETA 00:01:10

Fork: 1 of 1

Warmup Iteration 1: 4.194 ops/ms

Iteration 1: 8.958 ops/ms

Result “org.apache.dubbo.benchmark.ClientSimple.getUser”: 8.958 ops/ms

JMH version: 1.21

VM version: JDK 1.8.0_412, OpenJDK 64-Bit Server VM, 25.412-b08

VM invoker: /opt/hostedtoolcache/Java_Adopt_jdk/8.0.412-8/x64/jre/bin/java

VM options: -Xmx1g -Xms1g -XX:MaxDirectMemorySize=1g -XX:+UseG1GC -Dserver.host=localhost -Dserver.port=8080 -Dbenchmark.output=dubbo-native-hessian_output.md

Warmup: 1 iterations, 1 s each

Measurement: 1 iterations, 1 s each

Timeout: 10 min per iteration

Threads: 32 threads, will synchronize iterations

Benchmark mode: Throughput, ops/time

Benchmark: org.apache.dubbo.benchmark.ClientSimple.listUser

Run progress: 25.00% complete, ETA 00:01:03

Fork: 1 of 1

Warmup Iteration 1: 2.680 ops/ms

Iteration 1: 3.342 ops/ms

Result “org.apache.dubbo.benchmark.ClientSimple.listUser”: 3.342 ops/ms

JMH version: 1.21

VM version: JDK 1.8.0_412, OpenJDK 64-Bit Server VM, 25.412-b08

VM invoker: /opt/hostedtoolcache/Java_Adopt_jdk/8.0.412-8/x64/jre/bin/java

VM options: -Xmx1g -Xms1g -XX:MaxDirectMemorySize=1g -XX:+UseG1GC -Dserver.host=localhost -Dserver.port=8080 -Dbenchmark.output=dubbo-native-hessian_output.md

Warmup: 1 iterations, 1 s each

Measurement: 1 iterations, 1 s each

Timeout: 10 min per iteration

Threads: 32 threads, will synchronize iterations

Benchmark mode: Average time, time/op

Benchmark: org.apache.dubbo.benchmark.ClientSimple.createUser

Run progress: 33.33% complete, ETA 00:00:56

Fork: 1 of 1

Warmup Iteration 1: 6.213 ±(99.9%) 0.061 ms/op

Iteration 1: 3.159 ±(99.9%) 0.032 ms/op

Result “org.apache.dubbo.benchmark.ClientSimple.createUser”: 3.159 ms/op

JMH version: 1.21

VM version: JDK 1.8.0_412, OpenJDK 64-Bit Server VM, 25.412-b08

VM invoker: /opt/hostedtoolcache/Java_Adopt_jdk/8.0.412-8/x64/jre/bin/java

VM options: -Xmx1g -Xms1g -XX:MaxDirectMemorySize=1g -XX:+UseG1GC -Dserver.host=localhost -Dserver.port=8080 -Dbenchmark.output=dubbo-native-hessian_output.md

Warmup: 1 iterations, 1 s each

Measurement: 1 iterations, 1 s each

Timeout: 10 min per iteration

Threads: 32 threads, will synchronize iterations

Benchmark mode: Average time, time/op

Benchmark: org.apache.dubbo.benchmark.ClientSimple.existUser

Run progress: 41.67% complete, ETA 00:00:49

Fork: 1 of 1

Warmup Iteration 1: 4.224 ±(99.9%) 0.053 ms/op

Iteration 1: 2.650 ±(99.9%) 0.015 ms/op

Result “org.apache.dubbo.benchmark.ClientSimple.existUser”: 2.650 ms/op

JMH version: 1.21

VM version: JDK 1.8.0_412, OpenJDK 64-Bit Server VM, 25.412-b08

VM invoker: /opt/hostedtoolcache/Java_Adopt_jdk/8.0.412-8/x64/jre/bin/java

VM options: -Xmx1g -Xms1g -XX:MaxDirectMemorySize=1g -XX:+UseG1GC -Dserver.host=localhost -Dserver.port=8080 -Dbenchmark.output=dubbo-native-hessian_output.md

Warmup: 1 iterations, 1 s each

Measurement: 1 iterations, 1 s each

Timeout: 10 min per iteration

Threads: 32 threads, will synchronize iterations

Benchmark mode: Average time, time/op

Benchmark: org.apache.dubbo.benchmark.ClientSimple.getUser

Run progress: 50.00% complete, ETA 00:00:42

Fork: 1 of 1

Warmup Iteration 1: 5.239 ±(99.9%) 0.076 ms/op

Iteration 1: 3.519 ±(99.9%) 0.042 ms/op

Result “org.apache.dubbo.benchmark.ClientSimple.getUser”: 3.519 ms/op

JMH version: 1.21

VM version: JDK 1.8.0_412, OpenJDK 64-Bit Server VM, 25.412-b08

VM invoker: /opt/hostedtoolcache/Java_Adopt_jdk/8.0.412-8/x64/jre/bin/java

VM options: -Xmx1g -Xms1g -XX:MaxDirectMemorySize=1g -XX:+UseG1GC -Dserver.host=localhost -Dserver.port=8080 -Dbenchmark.output=dubbo-native-hessian_output.md

Warmup: 1 iterations, 1 s each

Measurement: 1 iterations, 1 s each

Timeout: 10 min per iteration

Threads: 32 threads, will synchronize iterations

Benchmark mode: Average time, time/op

Benchmark: org.apache.dubbo.benchmark.ClientSimple.listUser

Run progress: 58.33% complete, ETA 00:00:35

Fork: 1 of 1

Warmup Iteration 1: 11.088 ±(99.9%) 0.179 ms/op

Iteration 1: 9.089 ±(99.9%) 0.110 ms/op

Result “org.apache.dubbo.benchmark.ClientSimple.listUser”: 9.089 ms/op

JMH version: 1.21

VM version: JDK 1.8.0_412, OpenJDK 64-Bit Server VM, 25.412-b08

VM invoker: /opt/hostedtoolcache/Java_Adopt_jdk/8.0.412-8/x64/jre/bin/java

VM options: -Xmx1g -Xms1g -XX:MaxDirectMemorySize=1g -XX:+UseG1GC -Dserver.host=localhost -Dserver.port=8080 -Dbenchmark.output=dubbo-native-hessian_output.md

Warmup: 1 iterations, 1 s each

Measurement: 1 iterations, 1 s each

Timeout: 10 min per iteration

Threads: 32 threads, will synchronize iterations

Benchmark mode: Sampling time

Benchmark: org.apache.dubbo.benchmark.ClientSimple.createUser

Run progress: 66.67% complete, ETA 00:00:28

Fork: 1 of 1

Warmup Iteration 1: 5.012 ±(99.9%) 0.112 ms/op

Iteration 1: 3.567 ±(99.9%) 0.079 ms/op createUser·p0.00: 0.575 ms/op createUser·p0.50: 3.187 ms/op createUser·p0.90: 4.366 ms/op createUser·p0.95: 4.751 ms/op createUser·p0.99: 8.082 ms/op createUser·p0.999: 40.217 ms/op createUser·p0.9999: 41.419 ms/op createUser·p1.00: 41.419 ms/op

Result “org.apache.dubbo.benchmark.ClientSimple.createUser”: N = 9340 mean = 3.567 ±(99.9%) 0.079 ms/op

Histogram, ms/op: [ 0.000, 5.000) = 8983 [ 5.000, 10.000) = 288 [10.000, 15.000) = 37 [15.000, 20.000) = 0 [20.000, 25.000) = 0 [25.000, 30.000) = 0 [30.000, 35.000) = 0 [35.000, 40.000) = 21 [40.000, 45.000) = 11

Percentiles, ms/op: p(0.0000) = 0.575 ms/op p(50.0000) = 3.187 ms/op p(90.0000) = 4.366 ms/op p(95.0000) = 4.751 ms/op p(99.0000) = 8.082 ms/op p(99.9000) = 40.217 ms/op p(99.9900) = 41.419 ms/op p(99.9990) = 41.419 ms/op p(99.9999) = 41.419 ms/op p(100.0000) = 41.419 ms/op

JMH version: 1.21

VM version: JDK 1.8.0_412, OpenJDK 64-Bit Server VM, 25.412-b08

VM invoker: /opt/hostedtoolcache/Java_Adopt_jdk/8.0.412-8/x64/jre/bin/java

VM options: -Xmx1g -Xms1g -XX:MaxDirectMemorySize=1g -XX:+UseG1GC -Dserver.host=localhost -Dserver.port=8080 -Dbenchmark.output=dubbo-native-hessian_output.md

Warmup: 1 iterations, 1 s each

Measurement: 1 iterations, 1 s each

Timeout: 10 min per iteration

Threads: 32 threads, will synchronize iterations

Benchmark mode: Sampling time

Benchmark: org.apache.dubbo.benchmark.ClientSimple.existUser

Run progress: 75.00% complete, ETA 00:00:21

Fork: 1 of 1

Warmup Iteration 1: 3.854 ±(99.9%) 0.096 ms/op

Iteration 1: 2.757 ±(99.9%) 0.018 ms/op existUser·p0.00: 0.676 ms/op existUser·p0.50: 2.769 ms/op existUser·p0.90: 3.457 ms/op existUser·p0.95: 3.641 ms/op existUser·p0.99: 4.268 ms/op existUser·p0.999: 6.208 ms/op existUser·p0.9999: 8.022 ms/op existUser·p1.00: 8.028 ms/op

Result “org.apache.dubbo.benchmark.ClientSimple.existUser”: N = 11598 mean = 2.757 ±(99.9%) 0.018 ms/op

Histogram, ms/op: [0.000, 0.500) = 0 [0.500, 1.000) = 11 [1.000, 1.500) = 176 [1.500, 2.000) = 920 [2.000, 2.500) = 2587 [2.500, 3.000) = 4338 [3.000, 3.500) = 2561 [3.500, 4.000) = 818 [4.000, 4.500) = 94 [4.500, 5.000) = 53 [5.000, 5.500) = 5 [5.500, 6.000) = 18 [6.000, 6.500) = 9 [6.500, 7.000) = 0 [7.000, 7.500) = 0 [7.500, 8.000) = 7 [8.000, 8.500) = 1

Percentiles, ms/op: p(0.0000) = 0.676 ms/op p(50.0000) = 2.769 ms/op p(90.0000) = 3.457 ms/op p(95.0000) = 3.641 ms/op p(99.0000) = 4.268 ms/op p(99.9000) = 6.208 ms/op p(99.9900) = 8.022 ms/op p(99.9990) = 8.028 ms/op p(99.9999) = 8.028 ms/op p(100.0000) = 8.028 ms/op

JMH version: 1.21

VM version: JDK 1.8.0_412, OpenJDK 64-Bit Server VM, 25.412-b08

VM invoker: /opt/hostedtoolcache/Java_Adopt_jdk/8.0.412-8/x64/jre/bin/java

VM options: -Xmx1g -Xms1g -XX:MaxDirectMemorySize=1g -XX:+UseG1GC -Dserver.host=localhost -Dserver.port=8080 -Dbenchmark.output=dubbo-native-hessian_output.md

Warmup: 1 iterations, 1 s each

Measurement: 1 iterations, 1 s each

Timeout: 10 min per iteration

Threads: 32 threads, will synchronize iterations

Benchmark mode: Sampling time

Benchmark: org.apache.dubbo.benchmark.ClientSimple.getUser

Run progress: 83.33% complete, ETA 00:00:14

Fork: 1 of 1

Warmup Iteration 1: 5.264 ±(99.9%) 0.110 ms/op

Iteration 1: 3.170 ±(99.9%) 0.029 ms/op getUser·p0.00: 1.025 ms/op getUser·p0.50: 3.015 ms/op getUser·p0.90: 3.928 ms/op getUser·p0.95: 4.383 ms/op getUser·p0.99: 5.424 ms/op getUser·p0.999: 14.729 ms/op getUser·p0.9999: 15.073 ms/op getUser·p1.00: 15.073 ms/op

Result “org.apache.dubbo.benchmark.ClientSimple.getUser”: N = 10094 mean = 3.170 ±(99.9%) 0.029 ms/op

Histogram, ms/op: [ 0.000, 1.250) = 7 [ 1.250, 2.500) = 1009 [ 2.500, 3.750) = 7603 [ 3.750, 5.000) = 1307 [ 5.000, 6.250) = 117 [ 6.250, 7.500) = 19 [ 7.500, 8.750) = 0 [ 8.750, 10.000) = 0 [10.000, 11.250) = 2 [11.250, 12.500) = 4 [12.500, 13.750) = 0 [13.750, 15.000) = 23 [15.000, 16.250) = 3 [16.250, 17.500) = 0 [17.500, 18.750) = 0

Percentiles, ms/op: p(0.0000) = 1.025 ms/op p(50.0000) = 3.015 ms/op p(90.0000) = 3.928 ms/op p(95.0000) = 4.383 ms/op p(99.0000) = 5.424 ms/op p(99.9000) = 14.729 ms/op p(99.9900) = 15.073 ms/op p(99.9990) = 15.073 ms/op p(99.9999) = 15.073 ms/op p(100.0000) = 15.073 ms/op

JMH version: 1.21

VM version: JDK 1.8.0_412, OpenJDK 64-Bit Server VM, 25.412-b08

VM invoker: /opt/hostedtoolcache/Java_Adopt_jdk/8.0.412-8/x64/jre/bin/java

VM options: -Xmx1g -Xms1g -XX:MaxDirectMemorySize=1g -XX:+UseG1GC -Dserver.host=localhost -Dserver.port=8080 -Dbenchmark.output=dubbo-native-hessian_output.md

Warmup: 1 iterations, 1 s each

Measurement: 1 iterations, 1 s each

Timeout: 10 min per iteration

Threads: 32 threads, will synchronize iterations

Benchmark mode: Sampling time

Benchmark: org.apache.dubbo.benchmark.ClientSimple.listUser

Run progress: 91.67% complete, ETA 00:00:07

Fork: 1 of 1

Warmup Iteration 1: 9.913 ±(99.9%) 0.299 ms/op

Iteration 1: 8.366 ±(99.9%) 0.178 ms/op listUser·p0.00: 1.839 ms/op listUser·p0.50: 7.754 ms/op listUser·p0.90: 11.913 ms/op listUser·p0.95: 13.435 ms/op listUser·p0.99: 23.149 ms/op listUser·p0.999: 26.736 ms/op listUser·p0.9999: 27.460 ms/op listUser·p1.00: 27.460 ms/op

Result “org.apache.dubbo.benchmark.ClientSimple.listUser”: N = 3838 mean = 8.366 ±(99.9%) 0.178 ms/op

Histogram, ms/op: [ 0.000, 2.500) = 9 [ 2.500, 5.000) = 378 [ 5.000, 7.500) = 1357 [ 7.500, 10.000) = 1085 [10.000, 12.500) = 744 [12.500, 15.000) = 134 [15.000, 17.500) = 51 [17.500, 20.000) = 23 [20.000, 22.500) = 11 [22.500, 25.000) = 36 [25.000, 27.500) = 10

Percentiles, ms/op: p(0.0000) = 1.839 ms/op p(50.0000) = 7.754 ms/op p(90.0000) = 11.913 ms/op p(95.0000) = 13.435 ms/op p(99.0000) = 23.149 ms/op p(99.9000) = 26.736 ms/op p(99.9900) = 27.460 ms/op p(99.9990) = 27.460 ms/op p(99.9999) = 27.460 ms/op p(100.0000) = 27.460 ms/op

Run complete. Total time: 00:01:24

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 ClientSimple.createUser thrpt 5.393 ops/ms ClientSimple.existUser thrpt 10.769 ops/ms ClientSimple.getUser thrpt 8.958 ops/ms ClientSimple.listUser thrpt 3.342 ops/ms ClientSimple.createUser avgt 3.159 ms/op ClientSimple.existUser avgt 2.650 ms/op ClientSimple.getUser avgt 3.519 ms/op ClientSimple.listUser avgt 9.089 ms/op ClientSimple.createUser sample 9340 3.567 ± 0.079 ms/op ClientSimple.createUser:createUser·p0.00 sample 0.575 ms/op ClientSimple.createUser:createUser·p0.50 sample 3.187 ms/op ClientSimple.createUser:createUser·p0.90 sample 4.366 ms/op ClientSimple.createUser:createUser·p0.95 sample 4.751 ms/op ClientSimple.createUser:createUser·p0.99 sample 8.082 ms/op ClientSimple.createUser:createUser·p0.999 sample 40.217 ms/op ClientSimple.createUser:createUser·p0.9999 sample 41.419 ms/op ClientSimple.createUser:createUser·p1.00 sample 41.419 ms/op ClientSimple.existUser sample 11598 2.757 ± 0.018 ms/op ClientSimple.existUser:existUser·p0.00 sample 0.676 ms/op ClientSimple.existUser:existUser·p0.50 sample 2.769 ms/op ClientSimple.existUser:existUser·p0.90 sample 3.457 ms/op ClientSimple.existUser:existUser·p0.95 sample 3.641 ms/op ClientSimple.existUser:existUser·p0.99 sample 4.268 ms/op ClientSimple.existUser:existUser·p0.999 sample 6.208 ms/op ClientSimple.existUser:existUser·p0.9999 sample 8.022 ms/op ClientSimple.existUser:existUser·p1.00 sample 8.028 ms/op ClientSimple.getUser sample 10094 3.170 ± 0.029 ms/op ClientSimple.getUser:getUser·p0.00 sample 1.025 ms/op ClientSimple.getUser:getUser·p0.50 sample 3.015 ms/op ClientSimple.getUser:getUser·p0.90 sample 3.928 ms/op ClientSimple.getUser:getUser·p0.95 sample 4.383 ms/op ClientSimple.getUser:getUser·p0.99 sample 5.424 ms/op ClientSimple.getUser:getUser·p0.999 sample 14.729 ms/op ClientSimple.getUser:getUser·p0.9999 sample 15.073 ms/op ClientSimple.getUser:getUser·p1.00 sample 15.073 ms/op ClientSimple.listUser sample 3838 8.366 ± 0.178 ms/op ClientSimple.listUser:listUser·p0.00 sample 1.839 ms/op ClientSimple.listUser:listUser·p0.50 sample 7.754 ms/op ClientSimple.listUser:listUser·p0.90 sample 11.913 ms/op ClientSimple.listUser:listUser·p0.95 sample 13.435 ms/op ClientSimple.listUser:listUser·p0.99 sample 23.149 ms/op ClientSimple.listUser:listUser·p0.999 sample 26.736 ms/op ClientSimple.listUser:listUser·p0.9999 sample 27.460 ms/op ClientSimple.listUser:listUser·p1.00 sample 27.460 ms/op

Benchmark result is saved to 1715645728000.json