# JMH version: 1.20 # VM version: JDK 17.0.4, VM 17.0.4+8-Ubuntu-122.04 # VM invoker: /usr/lib/jvm/java-17-openjdk-amd64/bin/java # VM options: -Xmx2G -Djava.library.path=bazel-bin/rs/getloadavg:rs/getloadavg # Warmup: 3 iterations, 1 s each # Measurement: 5 iterations, 1 s each # Timeout: 10 min per iteration # Threads: 2 threads, will synchronize iterations # Benchmark mode: Average time, time/op # Benchmark: com.komanov.nativeaccess.jmh.NativeBenchmarks.bridj # Run progress: 0.00% complete, ETA 00:01:04 # Fork: 1 of 1 # Warmup Iteration 1: 3139.897 ns/op # Warmup Iteration 2: 2902.753 ns/op # Warmup Iteration 3: 2607.599 ns/op Iteration 1: 2801.161 ns/op Iteration 2: 2260.621 ns/op Iteration 3: 3369.705 ns/op Iteration 4: 2452.106 ns/op Iteration 5: 2492.497 ns/op Result "com.komanov.nativeaccess.jmh.NativeBenchmarks.bridj": 2675.218 ±(99.9%) 1670.966 ns/op [Average] (min, avg, max) = (2260.621, 2675.218, 3369.705), stdev = 433.944 CI (99.9%): [1004.252, 4346.184] (assumes normal distribution) # JMH version: 1.20 # VM version: JDK 17.0.4, VM 17.0.4+8-Ubuntu-122.04 # VM invoker: /usr/lib/jvm/java-17-openjdk-amd64/bin/java # VM options: -Xmx2G -Djava.library.path=bazel-bin/rs/getloadavg:rs/getloadavg # Warmup: 3 iterations, 1 s each # Measurement: 5 iterations, 1 s each # Timeout: 10 min per iteration # Threads: 2 threads, will synchronize iterations # Benchmark mode: Average time, time/op # Benchmark: com.komanov.nativeaccess.jmh.NativeBenchmarks.javaCpp # Run progress: 12.50% complete, ETA 00:01:00 # Fork: 1 of 1 # Warmup Iteration 1: 880.270 ns/op # Warmup Iteration 2: 830.818 ns/op # Warmup Iteration 3: 796.519 ns/op Iteration 1: 795.294 ns/op Iteration 2: 801.411 ns/op Iteration 3: 794.372 ns/op Iteration 4: 801.432 ns/op Iteration 5: 800.989 ns/op Result "com.komanov.nativeaccess.jmh.NativeBenchmarks.javaCpp": 798.700 ±(99.9%) 13.667 ns/op [Average] (min, avg, max) = (794.372, 798.700, 801.432), stdev = 3.549 CI (99.9%): [785.032, 812.367] (assumes normal distribution) # JMH version: 1.20 # VM version: JDK 17.0.4, VM 17.0.4+8-Ubuntu-122.04 # VM invoker: /usr/lib/jvm/java-17-openjdk-amd64/bin/java # VM options: -Xmx2G -Djava.library.path=bazel-bin/rs/getloadavg:rs/getloadavg # Warmup: 3 iterations, 1 s each # Measurement: 5 iterations, 1 s each # Timeout: 10 min per iteration # Threads: 2 threads, will synchronize iterations # Benchmark mode: Average time, time/op # Benchmark: com.komanov.nativeaccess.jmh.NativeBenchmarks.javaMxBean # Run progress: 25.00% complete, ETA 00:00:51 # Fork: 1 of 1 # Warmup Iteration 1: 2374.182 ns/op # Warmup Iteration 2: 2069.030 ns/op # Warmup Iteration 3: 1920.807 ns/op Iteration 1: 1932.061 ns/op Iteration 2: 1960.924 ns/op Iteration 3: 1924.213 ns/op Iteration 4: 1932.529 ns/op Iteration 5: 2067.756 ns/op Result "com.komanov.nativeaccess.jmh.NativeBenchmarks.javaMxBean": 1963.496 ±(99.9%) 230.775 ns/op [Average] (min, avg, max) = (1924.213, 1963.496, 2067.756), stdev = 59.932 CI (99.9%): [1732.721, 2194.271] (assumes normal distribution) # JMH version: 1.20 # VM version: JDK 17.0.4, VM 17.0.4+8-Ubuntu-122.04 # VM invoker: /usr/lib/jvm/java-17-openjdk-amd64/bin/java # VM options: -Xmx2G -Djava.library.path=bazel-bin/rs/getloadavg:rs/getloadavg # Warmup: 3 iterations, 1 s each # Measurement: 5 iterations, 1 s each # Timeout: 10 min per iteration # Threads: 2 threads, will synchronize iterations # Benchmark mode: Average time, time/op # Benchmark: com.komanov.nativeaccess.jmh.NativeBenchmarks.jna # Run progress: 37.50% complete, ETA 00:00:42 # Fork: 1 of 1 # Warmup Iteration 1: 3121.712 ns/op # Warmup Iteration 2: 2704.721 ns/op # Warmup Iteration 3: 2690.367 ns/op Iteration 1: 2671.272 ns/op Iteration 2: 2631.175 ns/op Iteration 3: 2647.169 ns/op Iteration 4: 2642.709 ns/op Iteration 5: 2677.558 ns/op Result "com.komanov.nativeaccess.jmh.NativeBenchmarks.jna": 2653.977 ±(99.9%) 75.761 ns/op [Average] (min, avg, max) = (2631.175, 2653.977, 2677.558), stdev = 19.675 CI (99.9%): [2578.215, 2729.738] (assumes normal distribution) # JMH version: 1.20 # VM version: JDK 17.0.4, VM 17.0.4+8-Ubuntu-122.04 # VM invoker: /usr/lib/jvm/java-17-openjdk-amd64/bin/java # VM options: -Xmx2G -Djava.library.path=bazel-bin/rs/getloadavg:rs/getloadavg # Warmup: 3 iterations, 1 s each # Measurement: 5 iterations, 1 s each # Timeout: 10 min per iteration # Threads: 2 threads, will synchronize iterations # Benchmark mode: Average time, time/op # Benchmark: com.komanov.nativeaccess.jmh.NativeBenchmarks.jnaDirect # Run progress: 50.00% complete, ETA 00:00:33 # Fork: 1 of 1 # Warmup Iteration 1: 1169.358 ns/op # Warmup Iteration 2: 1093.994 ns/op # Warmup Iteration 3: 1086.630 ns/op Iteration 1: 1064.210 ns/op Iteration 2: 1071.248 ns/op Iteration 3: 1080.063 ns/op Iteration 4: 1079.894 ns/op Iteration 5: 1046.365 ns/op Result "com.komanov.nativeaccess.jmh.NativeBenchmarks.jnaDirect": 1068.356 ±(99.9%) 53.749 ns/op [Average] (min, avg, max) = (1046.365, 1068.356, 1080.063), stdev = 13.959 CI (99.9%): [1014.607, 1122.105] (assumes normal distribution) # JMH version: 1.20 # VM version: JDK 17.0.4, VM 17.0.4+8-Ubuntu-122.04 # VM invoker: /usr/lib/jvm/java-17-openjdk-amd64/bin/java # VM options: -Xmx2G -Djava.library.path=bazel-bin/rs/getloadavg:rs/getloadavg # Warmup: 3 iterations, 1 s each # Measurement: 5 iterations, 1 s each # Timeout: 10 min per iteration # Threads: 2 threads, will synchronize iterations # Benchmark mode: Average time, time/op # Benchmark: com.komanov.nativeaccess.jmh.NativeBenchmarks.jni # Run progress: 62.50% complete, ETA 00:00:25 # Fork: 1 of 1 # Warmup Iteration 1: 855.455 ns/op # Warmup Iteration 2: 818.571 ns/op # Warmup Iteration 3: 832.908 ns/op Iteration 1: 844.243 ns/op Iteration 2: 845.926 ns/op Iteration 3: 831.315 ns/op Iteration 4: 825.884 ns/op Iteration 5: 823.427 ns/op Result "com.komanov.nativeaccess.jmh.NativeBenchmarks.jni": 834.159 ±(99.9%) 40.013 ns/op [Average] (min, avg, max) = (823.427, 834.159, 845.926), stdev = 10.391 CI (99.9%): [794.146, 874.172] (assumes normal distribution) # JMH version: 1.20 # VM version: JDK 17.0.4, VM 17.0.4+8-Ubuntu-122.04 # VM invoker: /usr/lib/jvm/java-17-openjdk-amd64/bin/java # VM options: -Xmx2G -Djava.library.path=bazel-bin/rs/getloadavg:rs/getloadavg # Warmup: 3 iterations, 1 s each # Measurement: 5 iterations, 1 s each # Timeout: 10 min per iteration # Threads: 2 threads, will synchronize iterations # Benchmark mode: Average time, time/op # Benchmark: com.komanov.nativeaccess.jmh.NativeBenchmarks.jniEmpty # Run progress: 75.00% complete, ETA 00:00:16 # Fork: 1 of 1 # Warmup Iteration 1: 23.981 ns/op # Warmup Iteration 2: 23.251 ns/op # Warmup Iteration 3: 22.145 ns/op Iteration 1: 22.183 ns/op Iteration 2: 22.171 ns/op Iteration 3: 22.184 ns/op Iteration 4: 22.406 ns/op Iteration 5: 22.301 ns/op Result "com.komanov.nativeaccess.jmh.NativeBenchmarks.jniEmpty": 22.249 ±(99.9%) 0.395 ns/op [Average] (min, avg, max) = (22.171, 22.249, 22.406), stdev = 0.103 CI (99.9%): [21.854, 22.644] (assumes normal distribution) # JMH version: 1.20 # VM version: JDK 17.0.4, VM 17.0.4+8-Ubuntu-122.04 # VM invoker: /usr/lib/jvm/java-17-openjdk-amd64/bin/java # VM options: -Xmx2G -Djava.library.path=bazel-bin/rs/getloadavg:rs/getloadavg # Warmup: 3 iterations, 1 s each # Measurement: 5 iterations, 1 s each # Timeout: 10 min per iteration # Threads: 2 threads, will synchronize iterations # Benchmark mode: Average time, time/op # Benchmark: com.komanov.nativeaccess.jmh.NativeBenchmarks.jnr # Run progress: 87.50% complete, ETA 00:00:08 # Fork: 1 of 1 # Warmup Iteration 1: 993.145 ns/op # Warmup Iteration 2: 858.408 ns/op # Warmup Iteration 3: 851.465 ns/op Iteration 1: 837.215 ns/op Iteration 2: 816.853 ns/op Iteration 3: 825.546 ns/op Iteration 4: 827.070 ns/op Iteration 5: 826.766 ns/op Result "com.komanov.nativeaccess.jmh.NativeBenchmarks.jnr": 826.690 ±(99.9%) 27.833 ns/op [Average] (min, avg, max) = (816.853, 826.690, 837.215), stdev = 7.228 CI (99.9%): [798.857, 854.524] (assumes normal distribution) # Run complete. Total time: 00:01:07 Benchmark Mode Cnt Score Error Units NativeBenchmarks.bridj avgt 5 2675.218 ± 1670.966 ns/op NativeBenchmarks.javaCpp avgt 5 798.700 ± 13.667 ns/op NativeBenchmarks.javaMxBean avgt 5 1963.496 ± 230.775 ns/op NativeBenchmarks.jna avgt 5 2653.977 ± 75.761 ns/op NativeBenchmarks.jnaDirect avgt 5 1068.356 ± 53.749 ns/op NativeBenchmarks.jni avgt 5 834.159 ± 40.013 ns/op NativeBenchmarks.jniEmpty avgt 5 22.249 ± 0.395 ns/op NativeBenchmarks.jnr avgt 5 826.690 ± 27.833 ns/op Benchmark result is saved to /static/data/charts/native-access/jdk17.json