Skip to content

Instantly share code, notes, and snippets.

@porunov
Created September 1, 2022 16:44
Show Gist options
  • Save porunov/d07178afea8658e41a4802d1fca14274 to your computer and use it in GitHub Desktop.
Save porunov/d07178afea8658e41a4802d1fca14274 to your computer and use it in GitHub Desktop.
Caffeine and Guava cache benchmarks in JanusGraph
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 100000, size = 10000, useSmartLimit = true)
# Run progress: 0.00% complete, ETA 00:07:12
# Fork: 1 of 1
# Warmup Iteration 1: 9.596 ms/op
# Warmup Iteration 2: 7.723 ms/op
Iteration 1: 7.109 ms/op
Iteration 2: 6.893 ms/op
Iteration 3: 6.852 ms/op
Iteration 4: 6.797 ms/op
Iteration 5: 6.811 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
6.892 ±(99.9%) 0.487 ms/op [Average]
(min, avg, max) = (6.797, 6.892, 7.109), stdev = 0.127
CI (99.9%): [6.405, 7.380] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 100000, size = 10000, useSmartLimit = false)
# Run progress: 6.25% complete, ETA 00:07:06
# Fork: 1 of 1
# Warmup Iteration 1: 7.537 ms/op
# Warmup Iteration 2: 5.926 ms/op
Iteration 1: 5.449 ms/op
Iteration 2: 5.281 ms/op
Iteration 3: 5.248 ms/op
Iteration 4: 5.200 ms/op
Iteration 5: 5.191 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
5.274 ±(99.9%) 0.403 ms/op [Average]
(min, avg, max) = (5.191, 5.274, 5.449), stdev = 0.105
CI (99.9%): [4.871, 5.677] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 100000, size = 250000, useSmartLimit = true)
# Run progress: 12.50% complete, ETA 00:06:38
# Fork: 1 of 1
# Warmup Iteration 1: 351.232 ms/op
# Warmup Iteration 2: 292.117 ms/op
Iteration 1: 290.422 ms/op
Iteration 2: 285.480 ms/op
Iteration 3: 284.856 ms/op
Iteration 4: 282.543 ms/op
Iteration 5: 281.425 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
284.945 ±(99.9%) 13.401 ms/op [Average]
(min, avg, max) = (281.425, 284.945, 290.422), stdev = 3.480
CI (99.9%): [271.544, 298.346] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 100000, size = 250000, useSmartLimit = false)
# Run progress: 18.75% complete, ETA 00:06:25
# Fork: 1 of 1
# Warmup Iteration 1: 380.509 ms/op
# Warmup Iteration 2: 304.406 ms/op
Iteration 1: 292.297 ms/op
Iteration 2: 291.001 ms/op
Iteration 3: 286.901 ms/op
Iteration 4: 286.587 ms/op
Iteration 5: 286.632 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
288.683 ±(99.9%) 10.582 ms/op [Average]
(min, avg, max) = (286.587, 288.683, 292.297), stdev = 2.748
CI (99.9%): [278.101, 299.266] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 2147483647, size = 10000, useSmartLimit = true)
# Run progress: 25.00% complete, ETA 00:06:04
# Fork: 1 of 1
# Warmup Iteration 1: 9.966 ms/op
# Warmup Iteration 2: 7.919 ms/op
Iteration 1: 7.227 ms/op
Iteration 2: 7.196 ms/op
Iteration 3: 7.234 ms/op
Iteration 4: 7.204 ms/op
Iteration 5: 6.960 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
7.164 ±(99.9%) 0.443 ms/op [Average]
(min, avg, max) = (6.960, 7.164, 7.234), stdev = 0.115
CI (99.9%): [6.721, 7.608] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 2147483647, size = 10000, useSmartLimit = false)
# Run progress: 31.25% complete, ETA 00:05:29
# Fork: 1 of 1
# Warmup Iteration 1: 7.675 ms/op
# Warmup Iteration 2: 6.064 ms/op
Iteration 1: 5.547 ms/op
Iteration 2: 5.375 ms/op
Iteration 3: 5.322 ms/op
Iteration 4: 5.284 ms/op
Iteration 5: 5.257 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
5.357 ±(99.9%) 0.444 ms/op [Average]
(min, avg, max) = (5.257, 5.357, 5.547), stdev = 0.115
CI (99.9%): [4.913, 5.800] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 2147483647, size = 250000, useSmartLimit = true)
# Run progress: 37.50% complete, ETA 00:04:57
# Fork: 1 of 1
# Warmup Iteration 1: 363.230 ms/op
# Warmup Iteration 2: 285.973 ms/op
Iteration 1: 289.837 ms/op
Iteration 2: 281.236 ms/op
Iteration 3: 278.128 ms/op
Iteration 4: 280.741 ms/op
Iteration 5: 277.887 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
281.566 ±(99.9%) 18.721 ms/op [Average]
(min, avg, max) = (277.887, 281.566, 289.837), stdev = 4.862
CI (99.9%): [262.845, 300.287] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 2147483647, size = 250000, useSmartLimit = false)
# Run progress: 43.75% complete, ETA 00:04:30
# Fork: 1 of 1
# Warmup Iteration 1: 217.380 ms/op
# Warmup Iteration 2: 183.376 ms/op
Iteration 1: 183.554 ms/op
Iteration 2: 180.806 ms/op
Iteration 3: 181.359 ms/op
Iteration 4: 179.625 ms/op
Iteration 5: 179.937 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
181.056 ±(99.9%) 5.995 ms/op [Average]
(min, avg, max) = (179.625, 181.056, 183.554), stdev = 1.557
CI (99.9%): [175.061, 187.051] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.JanusGraphSpeedBenchmark.basicAddAndDelete
# Parameters: (numberOfVertices = 1000)
# Run progress: 50.00% complete, ETA 00:04:01
# Fork: 1 of 1
# Warmup Iteration 1: 127.454 ms/op
# Warmup Iteration 2: 119.653 ms/op
Iteration 1: 192.912 ms/op
Iteration 2: 294.054 ms/op
Iteration 3: 366.621 ms/op
Iteration 4: 422.895 ms/op
Iteration 5: 478.022 ms/op
Result "org.janusgraph.JanusGraphSpeedBenchmark.basicAddAndDelete":
350.901 ±(99.9%) 429.575 ms/op [Average]
(min, avg, max) = (192.912, 350.901, 478.022), stdev = 111.559
CI (99.9%): [≈ 0, 780.476] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.JanusGraphSpeedBenchmark.basicAddAndDelete
# Parameters: (numberOfVertices = 10000)
# Run progress: 56.25% complete, ETA 00:03:31
# Fork: 1 of 1
# Warmup Iteration 1: 794.926 ms/op
# Warmup Iteration 2: 650.140 ms/op
Iteration 1: 850.043 ms/op
Iteration 2: 1120.149 ms/op
Iteration 3: 1324.253 ms/op
Iteration 4: 1520.411 ms/op
Iteration 5: 1830.966 ms/op
Result "org.janusgraph.JanusGraphSpeedBenchmark.basicAddAndDelete":
1329.164 ±(99.9%) 1442.899 ms/op [Average]
(min, avg, max) = (850.043, 1329.164, 1830.966), stdev = 374.716
CI (99.9%): [≈ 0, 2772.063] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.JanusGraphSpeedBenchmark.basicAddAndDelete
# Parameters: (numberOfVertices = 100000)
# Run progress: 62.50% complete, ETA 00:03:05
# Fork: 1 of 1
# Warmup Iteration 1: 5476.713 ms/op
# Warmup Iteration 2: 5556.933 ms/op
Iteration 1: 5961.333 ms/op
Iteration 2: 6626.322 ms/op
Iteration 3: 7524.459 ms/op
Iteration 4: 7481.151 ms/op
Iteration 5: 8115.676 ms/op
Result "org.janusgraph.JanusGraphSpeedBenchmark.basicAddAndDelete":
7141.788 ±(99.9%) 3261.271 ms/op [Average]
(min, avg, max) = (5961.333, 7141.788, 8115.676), stdev = 846.942
CI (99.9%): [3880.517, 10403.059] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.JanusGraphSpeedBenchmark.basicCount
# Parameters: (numberOfVertices = 1000)
# Run progress: 68.75% complete, ETA 00:06:13
# Fork: 1 of 1
# Warmup Iteration 1: 1.278 ms/op
# Warmup Iteration 2: 1.026 ms/op
Iteration 1: 0.975 ms/op
Iteration 2: 0.944 ms/op
Iteration 3: 0.936 ms/op
Iteration 4: 0.938 ms/op
Iteration 5: 0.934 ms/op
Result "org.janusgraph.JanusGraphSpeedBenchmark.basicCount":
0.945 ±(99.9%) 0.065 ms/op [Average]
(min, avg, max) = (0.934, 0.945, 0.975), stdev = 0.017
CI (99.9%): [0.880, 1.011] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.JanusGraphSpeedBenchmark.basicCount
# Parameters: (numberOfVertices = 10000)
# Run progress: 75.00% complete, ETA 00:04:43
# Fork: 1 of 1
# Warmup Iteration 1: 12.602 ms/op
# Warmup Iteration 2: 11.427 ms/op
Iteration 1: 11.178 ms/op
Iteration 2: 11.055 ms/op
Iteration 3: 10.868 ms/op
Iteration 4: 10.793 ms/op
Iteration 5: 10.743 ms/op
Result "org.janusgraph.JanusGraphSpeedBenchmark.basicCount":
10.927 ±(99.9%) 0.706 ms/op [Average]
(min, avg, max) = (10.743, 10.927, 11.178), stdev = 0.183
CI (99.9%): [10.221, 11.633] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.JanusGraphSpeedBenchmark.basicCount
# Parameters: (numberOfVertices = 100000)
# Run progress: 81.25% complete, ETA 00:03:23
# Fork: 1 of 1
# Warmup Iteration 1: 179.277 ms/op
# Warmup Iteration 2: 167.530 ms/op
Iteration 1: 164.270 ms/op
Iteration 2: 161.826 ms/op
Iteration 3: 160.705 ms/op
Iteration 4: 160.223 ms/op
Iteration 5: 160.207 ms/op
Result "org.janusgraph.JanusGraphSpeedBenchmark.basicCount":
161.446 ±(99.9%) 6.586 ms/op [Average]
(min, avg, max) = (160.207, 161.446, 164.270), stdev = 1.710
CI (99.9%): [154.860, 168.032] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.MgmtOlapJobBenchmark.runReindex
# Parameters: (size = 10000)
# Run progress: 87.50% complete, ETA 00:03:16
# Fork: 1 of 1
# Warmup Iteration 1: 225.844 ms/op
# Warmup Iteration 2: 207.502 ms/op
Iteration 1: 11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:33:05 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
192.591 ms/op
Iteration 2: 197.096 ms/op
Iteration 3: 11:37:37 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:37:37 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:37:37 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:37:37 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:37:37 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:37:37 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:37:37 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:37:37 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:37:37 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:37:37 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:37:37 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:37:37 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
11:37:37 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
197.738 ms/op
Iteration 4: 202.485 ms/op
Iteration 5: 200.215 ms/op
Result "org.janusgraph.MgmtOlapJobBenchmark.runReindex":
198.025 ±(99.9%) 14.299 ms/op [Average]
(min, avg, max) = (192.591, 198.025, 202.485), stdev = 3.713
CI (99.9%): [183.726, 212.324] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.MgmtOlapJobBenchmark.runRemoveIndex
# Parameters: (size = 10000)
# Run progress: 93.75% complete, ETA 00:02:34
# Fork: 1 of 1
# Warmup Iteration 1: 121.776 ms/op
# Warmup Iteration 2: 119.102 ms/op
Iteration 1: 116.315 ms/op
Iteration 2: 115.443 ms/op
Iteration 3: 115.524 ms/op
Iteration 4: 115.891 ms/op
Iteration 5: 115.594 ms/op
Result "org.janusgraph.MgmtOlapJobBenchmark.runRemoveIndex":
115.753 ±(99.9%) 1.373 ms/op [Average]
(min, avg, max) = (115.443, 115.753, 116.315), stdev = 0.357
CI (99.9%): [114.380, 117.127] (assumes normal distribution)
# Run complete. Total time: 00:54:19
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 (hardMaxLimit) (numberOfVertices) (size) (useSmartLimit) Mode Cnt Score Error Units
GraphCentricQueryBenchmark.getVertices 100000 N/A 10000 true avgt 5 6.892 ± 0.487 ms/op
GraphCentricQueryBenchmark.getVertices 100000 N/A 10000 false avgt 5 5.274 ± 0.403 ms/op
GraphCentricQueryBenchmark.getVertices 100000 N/A 250000 true avgt 5 284.945 ± 13.401 ms/op
GraphCentricQueryBenchmark.getVertices 100000 N/A 250000 false avgt 5 288.683 ± 10.582 ms/op
GraphCentricQueryBenchmark.getVertices 2147483647 N/A 10000 true avgt 5 7.164 ± 0.443 ms/op
GraphCentricQueryBenchmark.getVertices 2147483647 N/A 10000 false avgt 5 5.357 ± 0.444 ms/op
GraphCentricQueryBenchmark.getVertices 2147483647 N/A 250000 true avgt 5 281.566 ± 18.721 ms/op
GraphCentricQueryBenchmark.getVertices 2147483647 N/A 250000 false avgt 5 181.056 ± 5.995 ms/op
JanusGraphSpeedBenchmark.basicAddAndDelete N/A 1000 N/A N/A avgt 5 350.901 ± 429.575 ms/op
JanusGraphSpeedBenchmark.basicAddAndDelete N/A 10000 N/A N/A avgt 5 1329.164 ± 1442.899 ms/op
JanusGraphSpeedBenchmark.basicAddAndDelete N/A 100000 N/A N/A avgt 5 7141.788 ± 3261.271 ms/op
JanusGraphSpeedBenchmark.basicCount N/A 1000 N/A N/A avgt 5 0.945 ± 0.065 ms/op
JanusGraphSpeedBenchmark.basicCount N/A 10000 N/A N/A avgt 5 10.927 ± 0.706 ms/op
JanusGraphSpeedBenchmark.basicCount N/A 100000 N/A N/A avgt 5 161.446 ± 6.586 ms/op
MgmtOlapJobBenchmark.runReindex N/A N/A 10000 N/A avgt 5 198.025 ± 14.299 ms/op
MgmtOlapJobBenchmark.runRemoveIndex N/A N/A 10000 N/A avgt 5 115.753 ± 1.373 ms/op
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 100000, size = 10000, useSmartLimit = true)
# Run progress: 0.00% complete, ETA 00:07:12
# Fork: 1 of 1
# Warmup Iteration 1: 10.146 ms/op
# Warmup Iteration 2: 7.973 ms/op
Iteration 1: 7.421 ms/op
Iteration 2: 7.104 ms/op
Iteration 3: 7.015 ms/op
Iteration 4: 7.016 ms/op
Iteration 5: 7.019 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
7.115 ±(99.9%) 0.674 ms/op [Average]
(min, avg, max) = (7.015, 7.115, 7.421), stdev = 0.175
CI (99.9%): [6.441, 7.789] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 100000, size = 10000, useSmartLimit = false)
# Run progress: 6.25% complete, ETA 00:07:06
# Fork: 1 of 1
# Warmup Iteration 1: 7.820 ms/op
# Warmup Iteration 2: 6.140 ms/op
Iteration 1: 5.625 ms/op
Iteration 2: 5.492 ms/op
Iteration 3: 5.459 ms/op
Iteration 4: 5.375 ms/op
Iteration 5: 5.367 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
5.464 ±(99.9%) 0.403 ms/op [Average]
(min, avg, max) = (5.367, 5.464, 5.625), stdev = 0.105
CI (99.9%): [5.060, 5.867] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 100000, size = 250000, useSmartLimit = true)
# Run progress: 12.50% complete, ETA 00:06:38
# Fork: 1 of 1
# Warmup Iteration 1: 352.407 ms/op
# Warmup Iteration 2: 265.772 ms/op
Iteration 1: 271.947 ms/op
Iteration 2: 265.256 ms/op
Iteration 3: 261.065 ms/op
Iteration 4: 264.069 ms/op
Iteration 5: 258.191 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
264.106 ±(99.9%) 19.919 ms/op [Average]
(min, avg, max) = (258.191, 264.106, 271.947), stdev = 5.173
CI (99.9%): [244.187, 284.024] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 100000, size = 250000, useSmartLimit = false)
# Run progress: 18.75% complete, ETA 00:06:24
# Fork: 1 of 1
# Warmup Iteration 1: 385.825 ms/op
# Warmup Iteration 2: 302.877 ms/op
Iteration 1: 285.460 ms/op
Iteration 2: 284.114 ms/op
Iteration 3: 278.583 ms/op
Iteration 4: 278.758 ms/op
Iteration 5: 278.027 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
280.988 ±(99.9%) 13.517 ms/op [Average]
(min, avg, max) = (278.027, 280.988, 285.460), stdev = 3.510
CI (99.9%): [267.471, 294.505] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 2147483647, size = 10000, useSmartLimit = true)
# Run progress: 25.00% complete, ETA 00:06:01
# Fork: 1 of 1
# Warmup Iteration 1: 9.622 ms/op
# Warmup Iteration 2: 7.501 ms/op
Iteration 1: 7.049 ms/op
Iteration 2: 6.795 ms/op
Iteration 3: 6.746 ms/op
Iteration 4: 6.991 ms/op
Iteration 5: 6.667 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
6.849 ±(99.9%) 0.629 ms/op [Average]
(min, avg, max) = (6.667, 6.849, 7.049), stdev = 0.163
CI (99.9%): [6.220, 7.478] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 2147483647, size = 10000, useSmartLimit = false)
# Run progress: 31.25% complete, ETA 00:05:27
# Fork: 1 of 1
# Warmup Iteration 1: 8.435 ms/op
# Warmup Iteration 2: 6.512 ms/op
Iteration 1: 6.015 ms/op
Iteration 2: 5.840 ms/op
Iteration 3: 5.791 ms/op
Iteration 4: 5.727 ms/op
Iteration 5: 5.848 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
5.844 ±(99.9%) 0.411 ms/op [Average]
(min, avg, max) = (5.727, 5.844, 6.015), stdev = 0.107
CI (99.9%): [5.433, 6.255] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 2147483647, size = 250000, useSmartLimit = true)
# Run progress: 37.50% complete, ETA 00:04:55
# Fork: 1 of 1
# Warmup Iteration 1: 338.926 ms/op
# Warmup Iteration 2: 252.024 ms/op
Iteration 1: 254.810 ms/op
Iteration 2: 249.102 ms/op
Iteration 3: 247.795 ms/op
Iteration 4: 245.521 ms/op
Iteration 5: 242.722 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
247.990 ±(99.9%) 17.396 ms/op [Average]
(min, avg, max) = (242.722, 247.990, 254.810), stdev = 4.518
CI (99.9%): [230.594, 265.385] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 2147483647, size = 250000, useSmartLimit = false)
# Run progress: 43.75% complete, ETA 00:04:29
# Fork: 1 of 1
# Warmup Iteration 1: 216.487 ms/op
# Warmup Iteration 2: 172.734 ms/op
Iteration 1: 176.847 ms/op
Iteration 2: 174.746 ms/op
Iteration 3: 173.939 ms/op
Iteration 4: 173.763 ms/op
Iteration 5: 169.417 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
173.742 ±(99.9%) 10.438 ms/op [Average]
(min, avg, max) = (169.417, 173.742, 176.847), stdev = 2.711
CI (99.9%): [163.304, 184.181] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.JanusGraphSpeedBenchmark.basicAddAndDelete
# Parameters: (numberOfVertices = 1000)
# Run progress: 50.00% complete, ETA 00:04:00
# Fork: 1 of 1
# Warmup Iteration 1: 119.320 ms/op
# Warmup Iteration 2: 115.765 ms/op
Iteration 1: 193.833 ms/op
Iteration 2: 292.411 ms/op
Iteration 3: 365.959 ms/op
Iteration 4: 423.118 ms/op
Iteration 5: 475.519 ms/op
Result "org.janusgraph.JanusGraphSpeedBenchmark.basicAddAndDelete":
350.168 ±(99.9%) 426.450 ms/op [Average]
(min, avg, max) = (193.833, 350.168, 475.519), stdev = 110.748
CI (99.9%): [≈ 0, 776.619] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.JanusGraphSpeedBenchmark.basicAddAndDelete
# Parameters: (numberOfVertices = 10000)
# Run progress: 56.25% complete, ETA 00:03:30
# Fork: 1 of 1
# Warmup Iteration 1: 749.353 ms/op
# Warmup Iteration 2: 613.128 ms/op
Iteration 1: 826.877 ms/op
Iteration 2: 1109.238 ms/op
Iteration 3: 1306.947 ms/op
Iteration 4: 1532.650 ms/op
Iteration 5: 1811.283 ms/op
Result "org.janusgraph.JanusGraphSpeedBenchmark.basicAddAndDelete":
1317.399 ±(99.9%) 1459.067 ms/op [Average]
(min, avg, max) = (826.877, 1317.399, 1811.283), stdev = 378.915
CI (99.9%): [≈ 0, 2776.465] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.JanusGraphSpeedBenchmark.basicAddAndDelete
# Parameters: (numberOfVertices = 100000)
# Run progress: 62.50% complete, ETA 00:03:04
# Fork: 1 of 1
# Warmup Iteration 1: 5465.693 ms/op
# Warmup Iteration 2: 5646.129 ms/op
Iteration 1: 6054.468 ms/op
Iteration 2: 6752.029 ms/op
Iteration 3: 7630.420 ms/op
Iteration 4: 7562.498 ms/op
Iteration 5: 8658.468 ms/op
Result "org.janusgraph.JanusGraphSpeedBenchmark.basicAddAndDelete":
7331.577 ±(99.9%) 3787.629 ms/op [Average]
(min, avg, max) = (6054.468, 7331.577, 8658.468), stdev = 983.635
CI (99.9%): [3543.947, 11119.206] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.JanusGraphSpeedBenchmark.basicCount
# Parameters: (numberOfVertices = 1000)
# Run progress: 68.75% complete, ETA 00:06:14
# Fork: 1 of 1
# Warmup Iteration 1: 1.215 ms/op
# Warmup Iteration 2: 0.969 ms/op
Iteration 1: 0.933 ms/op
Iteration 2: 0.933 ms/op
Iteration 3: 0.915 ms/op
Iteration 4: 0.899 ms/op
Iteration 5: 0.898 ms/op
Result "org.janusgraph.JanusGraphSpeedBenchmark.basicCount":
0.916 ±(99.9%) 0.066 ms/op [Average]
(min, avg, max) = (0.898, 0.916, 0.933), stdev = 0.017
CI (99.9%): [0.849, 0.982] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.JanusGraphSpeedBenchmark.basicCount
# Parameters: (numberOfVertices = 10000)
# Run progress: 75.00% complete, ETA 00:04:43
# Fork: 1 of 1
# Warmup Iteration 1: 12.183 ms/op
# Warmup Iteration 2: 11.407 ms/op
Iteration 1: 11.190 ms/op
Iteration 2: 10.919 ms/op
Iteration 3: 10.772 ms/op
Iteration 4: 10.698 ms/op
Iteration 5: 10.674 ms/op
Result "org.janusgraph.JanusGraphSpeedBenchmark.basicCount":
10.850 ±(99.9%) 0.818 ms/op [Average]
(min, avg, max) = (10.674, 10.850, 11.190), stdev = 0.212
CI (99.9%): [10.033, 11.668] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.JanusGraphSpeedBenchmark.basicCount
# Parameters: (numberOfVertices = 100000)
# Run progress: 81.25% complete, ETA 00:03:24
# Fork: 1 of 1
# Warmup Iteration 1: 185.331 ms/op
# Warmup Iteration 2: 172.372 ms/op
Iteration 1: 164.279 ms/op
Iteration 2: 163.911 ms/op
Iteration 3: 163.878 ms/op
Iteration 4: 162.645 ms/op
Iteration 5: 163.536 ms/op
Result "org.janusgraph.JanusGraphSpeedBenchmark.basicCount":
163.650 ±(99.9%) 2.389 ms/op [Average]
(min, avg, max) = (162.645, 163.650, 164.279), stdev = 0.620
CI (99.9%): [161.261, 166.039] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.MgmtOlapJobBenchmark.runReindex
# Parameters: (size = 10000)
# Run progress: 87.50% complete, ETA 00:03:18
# Fork: 1 of 1
# Warmup Iteration 1: 220.324 ms/op
# Warmup Iteration 2: 195.592 ms/op
Iteration 1: 200.679 ms/op
Iteration 2: 201.034 ms/op
Iteration 3: 15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:07:01 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
195.858 ms/op
Iteration 4: 198.591 ms/op
Iteration 5: 15:11:32 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:11:32 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:11:32 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
15:11:32 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
195.592 ms/op
Result "org.janusgraph.MgmtOlapJobBenchmark.runReindex":
198.351 ±(99.9%) 9.912 ms/op [Average]
(min, avg, max) = (195.592, 198.351, 201.034), stdev = 2.574
CI (99.9%): [188.439, 208.263] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.MgmtOlapJobBenchmark.runRemoveIndex
# Parameters: (size = 10000)
# Run progress: 93.75% complete, ETA 00:02:35
# Fork: 1 of 1
# Warmup Iteration 1: 120.617 ms/op
# Warmup Iteration 2: 120.895 ms/op
Iteration 1: 116.582 ms/op
Iteration 2: 115.557 ms/op
Iteration 3: 115.977 ms/op
Iteration 4: 115.916 ms/op
Iteration 5: 115.803 ms/op
Result "org.janusgraph.MgmtOlapJobBenchmark.runRemoveIndex":
115.967 ±(99.9%) 1.460 ms/op [Average]
(min, avg, max) = (115.557, 115.967, 116.582), stdev = 0.379
CI (99.9%): [114.507, 117.427] (assumes normal distribution)
# Run complete. Total time: 00:54:40
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 (hardMaxLimit) (numberOfVertices) (size) (useSmartLimit) Mode Cnt Score Error Units
GraphCentricQueryBenchmark.getVertices 100000 N/A 10000 true avgt 5 7.115 ± 0.674 ms/op
GraphCentricQueryBenchmark.getVertices 100000 N/A 10000 false avgt 5 5.464 ± 0.403 ms/op
GraphCentricQueryBenchmark.getVertices 100000 N/A 250000 true avgt 5 264.106 ± 19.919 ms/op
GraphCentricQueryBenchmark.getVertices 100000 N/A 250000 false avgt 5 280.988 ± 13.517 ms/op
GraphCentricQueryBenchmark.getVertices 2147483647 N/A 10000 true avgt 5 6.849 ± 0.629 ms/op
GraphCentricQueryBenchmark.getVertices 2147483647 N/A 10000 false avgt 5 5.844 ± 0.411 ms/op
GraphCentricQueryBenchmark.getVertices 2147483647 N/A 250000 true avgt 5 247.990 ± 17.396 ms/op
GraphCentricQueryBenchmark.getVertices 2147483647 N/A 250000 false avgt 5 173.742 ± 10.438 ms/op
JanusGraphSpeedBenchmark.basicAddAndDelete N/A 1000 N/A N/A avgt 5 350.168 ± 426.450 ms/op
JanusGraphSpeedBenchmark.basicAddAndDelete N/A 10000 N/A N/A avgt 5 1317.399 ± 1459.067 ms/op
JanusGraphSpeedBenchmark.basicAddAndDelete N/A 100000 N/A N/A avgt 5 7331.577 ± 3787.629 ms/op
JanusGraphSpeedBenchmark.basicCount N/A 1000 N/A N/A avgt 5 0.916 ± 0.066 ms/op
JanusGraphSpeedBenchmark.basicCount N/A 10000 N/A N/A avgt 5 10.850 ± 0.818 ms/op
JanusGraphSpeedBenchmark.basicCount N/A 100000 N/A N/A avgt 5 163.650 ± 2.389 ms/op
MgmtOlapJobBenchmark.runReindex N/A N/A 10000 N/A avgt 5 198.351 ± 9.912 ms/op
MgmtOlapJobBenchmark.runRemoveIndex N/A N/A 10000 N/A avgt 5 115.967 ± 1.460 ms/op
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 100000, size = 10000, useSmartLimit = true)
# Run progress: 0.00% complete, ETA 00:07:12
# Fork: 1 of 1
# Warmup Iteration 1: 9.947 ms/op
# Warmup Iteration 2: 7.631 ms/op
Iteration 1: 7.395 ms/op
Iteration 2: 7.281 ms/op
Iteration 3: 7.195 ms/op
Iteration 4: 7.172 ms/op
Iteration 5: 7.172 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
7.243 ±(99.9%) 0.370 ms/op [Average]
(min, avg, max) = (7.172, 7.243, 7.395), stdev = 0.096
CI (99.9%): [6.873, 7.613] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 100000, size = 10000, useSmartLimit = false)
# Run progress: 6.25% complete, ETA 00:07:06
# Fork: 1 of 1
# Warmup Iteration 1: 7.707 ms/op
# Warmup Iteration 2: 5.919 ms/op
Iteration 1: 5.725 ms/op
Iteration 2: 5.466 ms/op
Iteration 3: 5.449 ms/op
Iteration 4: 5.519 ms/op
Iteration 5: 5.503 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
5.533 ±(99.9%) 0.428 ms/op [Average]
(min, avg, max) = (5.449, 5.533, 5.725), stdev = 0.111
CI (99.9%): [5.104, 5.961] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 100000, size = 250000, useSmartLimit = true)
# Run progress: 12.50% complete, ETA 00:06:37
# Fork: 1 of 1
# Warmup Iteration 1: 354.822 ms/op
# Warmup Iteration 2: 285.810 ms/op
Iteration 1: 287.046 ms/op
Iteration 2: 285.610 ms/op
Iteration 3: 281.110 ms/op
Iteration 4: 280.620 ms/op
Iteration 5: 280.282 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
282.934 ±(99.9%) 12.144 ms/op [Average]
(min, avg, max) = (280.282, 282.934, 287.046), stdev = 3.154
CI (99.9%): [270.789, 295.078] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 100000, size = 250000, useSmartLimit = false)
# Run progress: 18.75% complete, ETA 00:06:23
# Fork: 1 of 1
# Warmup Iteration 1: 383.307 ms/op
# Warmup Iteration 2: 295.557 ms/op
Iteration 1: 294.579 ms/op
Iteration 2: 291.983 ms/op
Iteration 3: 289.980 ms/op
Iteration 4: 287.845 ms/op
Iteration 5: 286.395 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
290.156 ±(99.9%) 12.540 ms/op [Average]
(min, avg, max) = (286.395, 290.156, 294.579), stdev = 3.257
CI (99.9%): [277.616, 302.697] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 2147483647, size = 10000, useSmartLimit = true)
# Run progress: 25.00% complete, ETA 00:06:02
# Fork: 1 of 1
# Warmup Iteration 1: 10.027 ms/op
# Warmup Iteration 2: 7.601 ms/op
Iteration 1: 7.498 ms/op
Iteration 2: 7.391 ms/op
Iteration 3: 7.259 ms/op
Iteration 4: 7.060 ms/op
Iteration 5: 7.042 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
7.250 ±(99.9%) 0.772 ms/op [Average]
(min, avg, max) = (7.042, 7.250, 7.498), stdev = 0.201
CI (99.9%): [6.478, 8.022] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 2147483647, size = 10000, useSmartLimit = false)
# Run progress: 31.25% complete, ETA 00:05:28
# Fork: 1 of 1
# Warmup Iteration 1: 7.445 ms/op
# Warmup Iteration 2: 5.787 ms/op
Iteration 1: 5.620 ms/op
Iteration 2: 5.414 ms/op
Iteration 3: 5.386 ms/op
Iteration 4: 5.326 ms/op
Iteration 5: 5.326 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
5.414 ±(99.9%) 0.466 ms/op [Average]
(min, avg, max) = (5.326, 5.414, 5.620), stdev = 0.121
CI (99.9%): [4.948, 5.880] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 2147483647, size = 250000, useSmartLimit = true)
# Run progress: 37.50% complete, ETA 00:04:56
# Fork: 1 of 1
# Warmup Iteration 1: 334.321 ms/op
# Warmup Iteration 2: 283.570 ms/op
Iteration 1: 265.240 ms/op
Iteration 2: 263.247 ms/op
Iteration 3: 258.443 ms/op
Iteration 4: 257.129 ms/op
Iteration 5: 256.372 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
260.087 ±(99.9%) 15.135 ms/op [Average]
(min, avg, max) = (256.372, 260.087, 265.240), stdev = 3.930
CI (99.9%): [244.952, 275.221] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 2147483647, size = 250000, useSmartLimit = false)
# Run progress: 43.75% complete, ETA 00:04:29
# Fork: 1 of 1
# Warmup Iteration 1: 208.196 ms/op
# Warmup Iteration 2: 183.923 ms/op
Iteration 1: 174.778 ms/op
Iteration 2: 173.403 ms/op
Iteration 3: 172.889 ms/op
Iteration 4: 172.637 ms/op
Iteration 5: 170.697 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
172.881 ±(99.9%) 5.680 ms/op [Average]
(min, avg, max) = (170.697, 172.881, 174.778), stdev = 1.475
CI (99.9%): [167.200, 178.561] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.JanusGraphSpeedBenchmark.basicAddAndDelete
# Parameters: (numberOfVertices = 1000)
# Run progress: 50.00% complete, ETA 00:04:01
# Fork: 1 of 1
# Warmup Iteration 1: 121.646 ms/op
# Warmup Iteration 2: 118.705 ms/op
Iteration 1: 199.650 ms/op
Iteration 2: 300.680 ms/op
Iteration 3: 374.597 ms/op
Iteration 4: 432.772 ms/op
Iteration 5: 485.287 ms/op
Result "org.janusgraph.JanusGraphSpeedBenchmark.basicAddAndDelete":
358.597 ±(99.9%) 432.349 ms/op [Average]
(min, avg, max) = (199.650, 358.597, 485.287), stdev = 112.280
CI (99.9%): [≈ 0, 790.947] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.JanusGraphSpeedBenchmark.basicAddAndDelete
# Parameters: (numberOfVertices = 10000)
# Run progress: 56.25% complete, ETA 00:03:30
# Fork: 1 of 1
# Warmup Iteration 1: 707.289 ms/op
# Warmup Iteration 2: 618.437 ms/op
Iteration 1: 838.103 ms/op
Iteration 2: 1123.653 ms/op
Iteration 3: 1315.323 ms/op
Iteration 4: 1523.836 ms/op
Iteration 5: 1797.628 ms/op
Result "org.janusgraph.JanusGraphSpeedBenchmark.basicAddAndDelete":
1319.709 ±(99.9%) 1415.440 ms/op [Average]
(min, avg, max) = (838.103, 1319.709, 1797.628), stdev = 367.585
CI (99.9%): [≈ 0, 2735.149] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.JanusGraphSpeedBenchmark.basicAddAndDelete
# Parameters: (numberOfVertices = 100000)
# Run progress: 62.50% complete, ETA 00:03:04
# Fork: 1 of 1
# Warmup Iteration 1: 5406.888 ms/op
# Warmup Iteration 2: 5586.257 ms/op
Iteration 1: 5995.634 ms/op
Iteration 2: 6760.798 ms/op
Iteration 3: 7654.918 ms/op
Iteration 4: 7600.665 ms/op
Iteration 5: 8279.441 ms/op
Result "org.janusgraph.JanusGraphSpeedBenchmark.basicAddAndDelete":
7258.291 ±(99.9%) 3422.030 ms/op [Average]
(min, avg, max) = (5995.634, 7258.291, 8279.441), stdev = 888.690
CI (99.9%): [3836.261, 10680.321] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.JanusGraphSpeedBenchmark.basicCount
# Parameters: (numberOfVertices = 1000)
# Run progress: 68.75% complete, ETA 00:06:16
# Fork: 1 of 1
# Warmup Iteration 1: 1.356 ms/op
# Warmup Iteration 2: 0.988 ms/op
Iteration 1: 0.945 ms/op
Iteration 2: 0.924 ms/op
Iteration 3: 0.917 ms/op
Iteration 4: 0.913 ms/op
Iteration 5: 0.912 ms/op
Result "org.janusgraph.JanusGraphSpeedBenchmark.basicCount":
0.922 ±(99.9%) 0.052 ms/op [Average]
(min, avg, max) = (0.912, 0.922, 0.945), stdev = 0.013
CI (99.9%): [0.870, 0.974] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.JanusGraphSpeedBenchmark.basicCount
# Parameters: (numberOfVertices = 10000)
# Run progress: 75.00% complete, ETA 00:04:45
# Fork: 1 of 1
# Warmup Iteration 1: 12.511 ms/op
# Warmup Iteration 2: 11.642 ms/op
Iteration 1: 11.256 ms/op
Iteration 2: 11.034 ms/op
Iteration 3: 10.905 ms/op
Iteration 4: 10.839 ms/op
Iteration 5: 10.799 ms/op
Result "org.janusgraph.JanusGraphSpeedBenchmark.basicCount":
10.967 ±(99.9%) 0.711 ms/op [Average]
(min, avg, max) = (10.799, 10.967, 11.256), stdev = 0.185
CI (99.9%): [10.255, 11.678] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.JanusGraphSpeedBenchmark.basicCount
# Parameters: (numberOfVertices = 100000)
# Run progress: 81.25% complete, ETA 00:03:25
# Fork: 1 of 1
# Warmup Iteration 1: 182.826 ms/op
# Warmup Iteration 2: 175.098 ms/op
Iteration 1: 169.113 ms/op
Iteration 2: 166.371 ms/op
Iteration 3: 166.728 ms/op
Iteration 4: 166.747 ms/op
Iteration 5: 165.074 ms/op
Result "org.janusgraph.JanusGraphSpeedBenchmark.basicCount":
166.807 ±(99.9%) 5.620 ms/op [Average]
(min, avg, max) = (165.074, 166.807, 169.113), stdev = 1.459
CI (99.9%): [161.187, 172.426] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.MgmtOlapJobBenchmark.runReindex
# Parameters: (size = 10000)
# Run progress: 87.50% complete, ETA 00:03:19
# Fork: 1 of 1
# Warmup Iteration 1: 250.648 ms/op
# Warmup Iteration 2: 198.812 ms/op
Iteration 1: 192.150 ms/op
Iteration 2: 196.981 ms/op
Iteration 3: 203.027 ms/op
Iteration 4: 205.739 ms/op
Iteration 5: 203.030 ms/op
Result "org.janusgraph.MgmtOlapJobBenchmark.runReindex":
200.185 ±(99.9%) 21.253 ms/op [Average]
(min, avg, max) = (192.150, 200.185, 205.739), stdev = 5.519
CI (99.9%): [178.932, 221.439] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.MgmtOlapJobBenchmark.runRemoveIndex
# Parameters: (size = 10000)
# Run progress: 93.75% complete, ETA 00:02:35
# Fork: 1 of 1
# Warmup Iteration 1: 121.474 ms/op
# Warmup Iteration 2: 119.211 ms/op
Iteration 1: 116.152 ms/op
Iteration 2: 115.553 ms/op
Iteration 3: 116.102 ms/op
Iteration 4: 115.611 ms/op
Iteration 5: 115.652 ms/op
Result "org.janusgraph.MgmtOlapJobBenchmark.runRemoveIndex":
115.814 ±(99.9%) 1.111 ms/op [Average]
(min, avg, max) = (115.553, 115.814, 116.152), stdev = 0.289
CI (99.9%): [114.703, 116.925] (assumes normal distribution)
# Run complete. Total time: 00:54:39
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 (hardMaxLimit) (numberOfVertices) (size) (useSmartLimit) Mode Cnt Score Error Units
GraphCentricQueryBenchmark.getVertices 100000 N/A 10000 true avgt 5 7.243 ± 0.370 ms/op
GraphCentricQueryBenchmark.getVertices 100000 N/A 10000 false avgt 5 5.533 ± 0.428 ms/op
GraphCentricQueryBenchmark.getVertices 100000 N/A 250000 true avgt 5 282.934 ± 12.144 ms/op
GraphCentricQueryBenchmark.getVertices 100000 N/A 250000 false avgt 5 290.156 ± 12.540 ms/op
GraphCentricQueryBenchmark.getVertices 2147483647 N/A 10000 true avgt 5 7.250 ± 0.772 ms/op
GraphCentricQueryBenchmark.getVertices 2147483647 N/A 10000 false avgt 5 5.414 ± 0.466 ms/op
GraphCentricQueryBenchmark.getVertices 2147483647 N/A 250000 true avgt 5 260.087 ± 15.135 ms/op
GraphCentricQueryBenchmark.getVertices 2147483647 N/A 250000 false avgt 5 172.881 ± 5.680 ms/op
JanusGraphSpeedBenchmark.basicAddAndDelete N/A 1000 N/A N/A avgt 5 358.597 ± 432.349 ms/op
JanusGraphSpeedBenchmark.basicAddAndDelete N/A 10000 N/A N/A avgt 5 1319.709 ± 1415.440 ms/op
JanusGraphSpeedBenchmark.basicAddAndDelete N/A 100000 N/A N/A avgt 5 7258.291 ± 3422.030 ms/op
JanusGraphSpeedBenchmark.basicCount N/A 1000 N/A N/A avgt 5 0.922 ± 0.052 ms/op
JanusGraphSpeedBenchmark.basicCount N/A 10000 N/A N/A avgt 5 10.967 ± 0.711 ms/op
JanusGraphSpeedBenchmark.basicCount N/A 100000 N/A N/A avgt 5 166.807 ± 5.620 ms/op
MgmtOlapJobBenchmark.runReindex N/A N/A 10000 N/A avgt 5 200.185 ± 21.253 ms/op
MgmtOlapJobBenchmark.runRemoveIndex N/A N/A 10000 N/A avgt 5 115.814 ± 1.111 ms/op
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 100000, size = 10000, useSmartLimit = true)
# Run progress: 0.00% complete, ETA 00:07:12
# Fork: 1 of 1
# Warmup Iteration 1: 9.595 ms/op
# Warmup Iteration 2: 7.456 ms/op
Iteration 1: 7.197 ms/op
Iteration 2: 7.087 ms/op
Iteration 3: 7.014 ms/op
Iteration 4: 7.325 ms/op
Iteration 5: 7.132 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
7.151 ±(99.9%) 0.453 ms/op [Average]
(min, avg, max) = (7.014, 7.151, 7.325), stdev = 0.118
CI (99.9%): [6.698, 7.604] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 100000, size = 10000, useSmartLimit = false)
# Run progress: 6.25% complete, ETA 00:07:07
# Fork: 1 of 1
# Warmup Iteration 1: 7.542 ms/op
# Warmup Iteration 2: 5.623 ms/op
Iteration 1: 5.332 ms/op
Iteration 2: 5.223 ms/op
Iteration 3: 5.193 ms/op
Iteration 4: 5.150 ms/op
Iteration 5: 5.134 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
5.206 ±(99.9%) 0.302 ms/op [Average]
(min, avg, max) = (5.134, 5.206, 5.332), stdev = 0.078
CI (99.9%): [4.904, 5.508] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 100000, size = 250000, useSmartLimit = true)
# Run progress: 12.50% complete, ETA 00:06:37
# Fork: 1 of 1
# Warmup Iteration 1: 340.894 ms/op
# Warmup Iteration 2: 286.006 ms/op
Iteration 1: 285.492 ms/op
Iteration 2: 285.055 ms/op
Iteration 3: 280.034 ms/op
Iteration 4: 279.499 ms/op
Iteration 5: 279.888 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
281.994 ±(99.9%) 11.569 ms/op [Average]
(min, avg, max) = (279.499, 281.994, 285.492), stdev = 3.004
CI (99.9%): [270.424, 293.563] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 100000, size = 250000, useSmartLimit = false)
# Run progress: 18.75% complete, ETA 00:06:23
# Fork: 1 of 1
# Warmup Iteration 1: 358.671 ms/op
# Warmup Iteration 2: 292.138 ms/op
Iteration 1: 288.724 ms/op
Iteration 2: 294.654 ms/op
Iteration 3: 287.527 ms/op
Iteration 4: 285.571 ms/op
Iteration 5: 281.525 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
287.600 ±(99.9%) 18.472 ms/op [Average]
(min, avg, max) = (281.525, 287.600, 294.654), stdev = 4.797
CI (99.9%): [269.129, 306.072] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 2147483647, size = 10000, useSmartLimit = true)
# Run progress: 25.00% complete, ETA 00:06:02
# Fork: 1 of 1
# Warmup Iteration 1: 11.013 ms/op
# Warmup Iteration 2: 8.070 ms/op
Iteration 1: 7.780 ms/op
Iteration 2: 7.568 ms/op
Iteration 3: 7.476 ms/op
Iteration 4: 7.197 ms/op
Iteration 5: 7.204 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
7.445 ±(99.9%) 0.959 ms/op [Average]
(min, avg, max) = (7.197, 7.445, 7.780), stdev = 0.249
CI (99.9%): [6.486, 8.404] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 2147483647, size = 10000, useSmartLimit = false)
# Run progress: 31.25% complete, ETA 00:05:27
# Fork: 1 of 1
# Warmup Iteration 1: 7.358 ms/op
# Warmup Iteration 2: 5.700 ms/op
Iteration 1: 5.490 ms/op
Iteration 2: 5.373 ms/op
Iteration 3: 5.318 ms/op
Iteration 4: 5.293 ms/op
Iteration 5: 5.275 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
5.350 ±(99.9%) 0.334 ms/op [Average]
(min, avg, max) = (5.275, 5.350, 5.490), stdev = 0.087
CI (99.9%): [5.016, 5.684] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 2147483647, size = 250000, useSmartLimit = true)
# Run progress: 37.50% complete, ETA 00:04:55
# Fork: 1 of 1
# Warmup Iteration 1: 317.819 ms/op
# Warmup Iteration 2: 270.101 ms/op
Iteration 1: 267.800 ms/op
Iteration 2: 267.798 ms/op
Iteration 3: 262.065 ms/op
Iteration 4: 261.487 ms/op
Iteration 5: 262.101 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
264.250 ±(99.9%) 12.509 ms/op [Average]
(min, avg, max) = (261.487, 264.250, 267.800), stdev = 3.249
CI (99.9%): [251.741, 276.760] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.GraphCentricQueryBenchmark.getVertices
# Parameters: (hardMaxLimit = 2147483647, size = 250000, useSmartLimit = false)
# Run progress: 43.75% complete, ETA 00:04:29
# Fork: 1 of 1
# Warmup Iteration 1: 194.169 ms/op
# Warmup Iteration 2: 169.028 ms/op
Iteration 1: 165.794 ms/op
Iteration 2: 164.905 ms/op
Iteration 3: 164.296 ms/op
Iteration 4: 162.918 ms/op
Iteration 5: 162.598 ms/op
Result "org.janusgraph.GraphCentricQueryBenchmark.getVertices":
164.102 ±(99.9%) 5.170 ms/op [Average]
(min, avg, max) = (162.598, 164.102, 165.794), stdev = 1.343
CI (99.9%): [158.933, 169.272] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.JanusGraphSpeedBenchmark.basicAddAndDelete
# Parameters: (numberOfVertices = 1000)
# Run progress: 50.00% complete, ETA 00:04:01
# Fork: 1 of 1
# Warmup Iteration 1: 133.508 ms/op
# Warmup Iteration 2: 113.194 ms/op
Iteration 1: 193.154 ms/op
Iteration 2: 294.401 ms/op
Iteration 3: 365.523 ms/op
Iteration 4: 424.876 ms/op
Iteration 5: 476.445 ms/op
Result "org.janusgraph.JanusGraphSpeedBenchmark.basicAddAndDelete":
350.880 ±(99.9%) 428.460 ms/op [Average]
(min, avg, max) = (193.154, 350.880, 476.445), stdev = 111.270
CI (99.9%): [≈ 0, 779.339] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.JanusGraphSpeedBenchmark.basicAddAndDelete
# Parameters: (numberOfVertices = 10000)
# Run progress: 56.25% complete, ETA 00:03:30
# Fork: 1 of 1
# Warmup Iteration 1: 699.172 ms/op
# Warmup Iteration 2: 611.695 ms/op
Iteration 1: 837.225 ms/op
Iteration 2: 1121.971 ms/op
Iteration 3: 1333.493 ms/op
Iteration 4: 1518.401 ms/op
Iteration 5: 1771.204 ms/op
Result "org.janusgraph.JanusGraphSpeedBenchmark.basicAddAndDelete":
1316.459 ±(99.9%) 1382.154 ms/op [Average]
(min, avg, max) = (837.225, 1316.459, 1771.204), stdev = 358.941
CI (99.9%): [≈ 0, 2698.613] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.JanusGraphSpeedBenchmark.basicAddAndDelete
# Parameters: (numberOfVertices = 100000)
# Run progress: 62.50% complete, ETA 00:03:05
# Fork: 1 of 1
# Warmup Iteration 1: 5353.396 ms/op
# Warmup Iteration 2: 5656.520 ms/op
Iteration 1: 5979.062 ms/op
Iteration 2: 6724.798 ms/op
Iteration 3: 7537.264 ms/op
Iteration 4: 7442.973 ms/op
Iteration 5: 8069.245 ms/op
Result "org.janusgraph.JanusGraphSpeedBenchmark.basicAddAndDelete":
7150.668 ±(99.9%) 3123.954 ms/op [Average]
(min, avg, max) = (5979.062, 7150.668, 8069.245), stdev = 811.281
CI (99.9%): [4026.715, 10274.622] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.JanusGraphSpeedBenchmark.basicCount
# Parameters: (numberOfVertices = 1000)
# Run progress: 68.75% complete, ETA 00:06:20
# Fork: 1 of 1
# Warmup Iteration 1: 1.253 ms/op
# Warmup Iteration 2: 1.004 ms/op
Iteration 1: 0.966 ms/op
Iteration 2: 0.933 ms/op
Iteration 3: 0.935 ms/op
Iteration 4: 0.937 ms/op
Iteration 5: 0.930 ms/op
Result "org.janusgraph.JanusGraphSpeedBenchmark.basicCount":
0.940 ±(99.9%) 0.056 ms/op [Average]
(min, avg, max) = (0.930, 0.940, 0.966), stdev = 0.015
CI (99.9%): [0.884, 0.997] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.JanusGraphSpeedBenchmark.basicCount
# Parameters: (numberOfVertices = 10000)
# Run progress: 75.00% complete, ETA 00:04:48
# Fork: 1 of 1
# Warmup Iteration 1: 12.640 ms/op
# Warmup Iteration 2: 11.758 ms/op
Iteration 1: 11.517 ms/op
Iteration 2: 11.298 ms/op
Iteration 3: 11.143 ms/op
Iteration 4: 11.148 ms/op
Iteration 5: 11.113 ms/op
Result "org.janusgraph.JanusGraphSpeedBenchmark.basicCount":
11.244 ±(99.9%) 0.650 ms/op [Average]
(min, avg, max) = (11.113, 11.244, 11.517), stdev = 0.169
CI (99.9%): [10.594, 11.894] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.JanusGraphSpeedBenchmark.basicCount
# Parameters: (numberOfVertices = 100000)
# Run progress: 81.25% complete, ETA 00:03:27
# Fork: 1 of 1
# Warmup Iteration 1: 182.798 ms/op
# Warmup Iteration 2: 174.600 ms/op
Iteration 1: 168.281 ms/op
Iteration 2: 164.102 ms/op
Iteration 3: 163.020 ms/op
Iteration 4: 164.773 ms/op
Iteration 5: 163.367 ms/op
Result "org.janusgraph.JanusGraphSpeedBenchmark.basicCount":
164.709 ±(99.9%) 8.119 ms/op [Average]
(min, avg, max) = (163.020, 164.709, 168.281), stdev = 2.109
CI (99.9%): [156.589, 172.828] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.MgmtOlapJobBenchmark.runReindex
# Parameters: (size = 10000)
# Run progress: 87.50% complete, ETA 00:03:20
# Fork: 1 of 1
# Warmup Iteration 1: 228.926 ms/op
# Warmup Iteration 2: 202.619 ms/op
Iteration 1: 16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
16:43:49 WARN org.janusgraph.graphdb.transaction.vertexcache.EmptyVertexCache.logWarning - Vertex cache is already closed
180.298 ms/op
Iteration 2: 198.399 ms/op
Iteration 3: 202.858 ms/op
Iteration 4: 203.655 ms/op
Iteration 5: 200.533 ms/op
Result "org.janusgraph.MgmtOlapJobBenchmark.runReindex":
197.148 ±(99.9%) 37.129 ms/op [Average]
(min, avg, max) = (180.298, 197.148, 203.655), stdev = 9.642
CI (99.9%): [160.019, 234.277] (assumes normal distribution)
# JMH version: 1.35
# VM version: JDK 1.8.0_345, OpenJDK 64-Bit Server VM, 25.345-b01
# VM invoker: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.fc36.x86_64/jre/bin/java
# VM options: <none>
# Blackhole mode: full + dont-inline hint (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 1 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.janusgraph.MgmtOlapJobBenchmark.runRemoveIndex
# Parameters: (size = 10000)
# Run progress: 93.75% complete, ETA 00:02:36
# Fork: 1 of 1
# Warmup Iteration 1: 121.028 ms/op
# Warmup Iteration 2: 118.319 ms/op
Iteration 1: 116.147 ms/op
Iteration 2: 115.638 ms/op
Iteration 3: 115.700 ms/op
Iteration 4: 115.501 ms/op
Iteration 5: 115.275 ms/op
Result "org.janusgraph.MgmtOlapJobBenchmark.runRemoveIndex":
115.652 ±(99.9%) 1.237 ms/op [Average]
(min, avg, max) = (115.275, 115.652, 116.147), stdev = 0.321
CI (99.9%): [114.415, 116.889] (assumes normal distribution)
# Run complete. Total time: 00:54:53
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 (hardMaxLimit) (numberOfVertices) (size) (useSmartLimit) Mode Cnt Score Error Units
GraphCentricQueryBenchmark.getVertices 100000 N/A 10000 true avgt 5 7.151 ± 0.453 ms/op
GraphCentricQueryBenchmark.getVertices 100000 N/A 10000 false avgt 5 5.206 ± 0.302 ms/op
GraphCentricQueryBenchmark.getVertices 100000 N/A 250000 true avgt 5 281.994 ± 11.569 ms/op
GraphCentricQueryBenchmark.getVertices 100000 N/A 250000 false avgt 5 287.600 ± 18.472 ms/op
GraphCentricQueryBenchmark.getVertices 2147483647 N/A 10000 true avgt 5 7.445 ± 0.959 ms/op
GraphCentricQueryBenchmark.getVertices 2147483647 N/A 10000 false avgt 5 5.350 ± 0.334 ms/op
GraphCentricQueryBenchmark.getVertices 2147483647 N/A 250000 true avgt 5 264.250 ± 12.509 ms/op
GraphCentricQueryBenchmark.getVertices 2147483647 N/A 250000 false avgt 5 164.102 ± 5.170 ms/op
JanusGraphSpeedBenchmark.basicAddAndDelete N/A 1000 N/A N/A avgt 5 350.880 ± 428.460 ms/op
JanusGraphSpeedBenchmark.basicAddAndDelete N/A 10000 N/A N/A avgt 5 1316.459 ± 1382.154 ms/op
JanusGraphSpeedBenchmark.basicAddAndDelete N/A 100000 N/A N/A avgt 5 7150.668 ± 3123.954 ms/op
JanusGraphSpeedBenchmark.basicCount N/A 1000 N/A N/A avgt 5 0.940 ± 0.056 ms/op
JanusGraphSpeedBenchmark.basicCount N/A 10000 N/A N/A avgt 5 11.244 ± 0.650 ms/op
JanusGraphSpeedBenchmark.basicCount N/A 100000 N/A N/A avgt 5 164.709 ± 8.119 ms/op
MgmtOlapJobBenchmark.runReindex N/A N/A 10000 N/A avgt 5 197.148 ± 37.129 ms/op
MgmtOlapJobBenchmark.runRemoveIndex N/A N/A 10000 N/A avgt 5 115.652 ± 1.237 ms/op
@porunov
Copy link
Author

porunov commented Sep 1, 2022

Executing benchmark tests for Caffeine cache implementation and Guava cache implementation in JanusGraph.
For Caffeine cache implementation the next commit was tested: JanusGraph/janusgraph@1754863
For Guava cache implementation the next commit was tested: JanusGraph/janusgraph@065a48f
The way tests were executed:

mvn clean install -Pjanusgraph-benchmark -DskipTests=true --batch-mode --also-make -Dgpg.skip=true
mvn verify --projects janusgraph-benchmark

Each test was executed in the next order and in the same environment:
CaffeineCacheBenchmark1
GuavaCacheBenchmark1
CaffeineCacheBenchmark2
GuavaCacheBenchmark2

Environment configuration:
Hardware: Dell Inc. XPS 15 9510
RAM: 64.0 GiB
Processor: 11th Gen Intel® Core™ i9-11900H × 16
OS: Fedora Linux 36 (Workstation Edition)
OS Type: 64-bit
Java: 1.8.0_345-b01

Conclusion on benchmarks: The tests showed the same performance. No improvement and no regression.

@ben-manes
Copy link

You may see a benefit from a higher hit rate, thanks to the policy taking frequency into account. I think in most real workloads the miss penalty has a more substantial impact and the cache's concurrency is not a bottleneck (as the application is busy doing other, more expensive things most of the time). Of course that varies per use-case. Also as a fun aside, Guava's javadocs recommend using Caffeine instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment