1
0
Files
zgc-jdk25-benchmarks/results/07-jmh-zgc.json
Ankur e189da79ba Generational ZGC vs G1 on JDK 25: benchmarks, internals and captured results
Complete companion suite for the ankurm.com guide. Everything was compiled and
executed on java 25.0.3+9-LTS-195 (AMD Ryzen 5 5600U, Windows 11); every file
under results/ is unedited program output.

Code
  latency/    open-loop latency harness that measures from intended arrival, so
              coordinated omission is accounted for rather than hidden. Reports
              response time and service time side by side; the gap reached 2910x
              on G1.
  jmh/        four microbenchmarks isolating one mechanism each: TLAB allocation,
              the ZGC load barrier (with a primitive-load control), the write
              barrier (with null / old-to-old / primitive controls), and promotion
              pressure.
  tuning/     provokes ZGC allocation stalls and reads its own JFR recording back,
              grouped by page class. jdk.ZAllocationStall is enabled without a
              threshold, because the 10 ms default hides most stalls.
  internals/  ZGC page classes vs G1 humongous, read from the live VM via
              HotSpotDiagnosticMXBean and jdk.ZPageAllocation events.
  analysis/   unified GC log parser that keeps stop-the-world pauses and
              concurrent phases in separate buckets.
  env/        environment capture; proves generational mode from JMX bean names.

Docs
  Eight chapters covering the JEP 439/474/490 timeline, colored pointers and both
  barriers, allocation stalls, a full flag reference, logging and JFR, benchmark
  methodology, corner cases, and a decision procedure.

Headline result (60 s, 20k req/s, 2 GB heap, ~585 MB live)
  p50               ZGC 0.006 ms   G1 0.005 ms
  p99.9             ZGC 1.437 ms   G1 95.169 ms
  total STW time    ZGC 1.503 ms   G1 1,139.624 ms
2026-07-31 08:47:16 +05:30

2660 lines
89 KiB
JSON

[
{
"jmhVersion" : "1.37",
"benchmark" : "com.ankurm.zgc.jmh.AllocationBench.allocate",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "C:\\Program Files\\Java\\jdk-25.0.3\\bin\\java.exe",
"jvmArgs" : [
"-XX:+UseZGC",
"-Xms2g",
"-Xmx2g"
],
"jdkVersion" : "25.0.3",
"vmName" : "Java HotSpot(TM) 64-Bit Server VM",
"vmVersion" : "25.0.3+9-LTS-195",
"warmupIterations" : 3,
"warmupTime" : "3 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "3 s",
"measurementBatchSize" : 1,
"params" : {
"size" : "64"
},
"primaryMetric" : {
"score" : 113180.40226339805,
"scoreError" : 3074.5516315173218,
"scoreConfidence" : [
110105.85063188073,
116254.95389491536
],
"scorePercentiles" : {
"0.0" : 111831.5782358896,
"50.0" : 113499.8747832871,
"90.0" : 113883.94558637982,
"95.0" : 113883.94558637982,
"99.0" : 113883.94558637982,
"99.9" : 113883.94558637982,
"99.99" : 113883.94558637982,
"99.999" : 113883.94558637982,
"99.9999" : 113883.94558637982,
"100.0" : 113883.94558637982
},
"scoreUnit" : "ops/ms",
"rawData" : [
[
113499.8747832871,
111831.5782358896,
113544.12996016344,
113883.94558637982,
113142.48275127025
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 8633.874072510924,
"scoreError" : 234.52955194538674,
"scoreConfidence" : [
8399.344520565537,
8868.40362445631
],
"scorePercentiles" : {
"0.0" : 8531.006923988425,
"50.0" : 8658.189953779649,
"90.0" : 8687.542757166977,
"95.0" : 8687.542757166977,
"99.0" : 8687.542757166977,
"99.9" : 8687.542757166977,
"99.99" : 8687.542757166977,
"99.999" : 8687.542757166977,
"99.9999" : 8687.542757166977,
"100.0" : 8687.542757166977
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
8658.189953779649,
8531.006923988425,
8661.736686430208,
8687.542757166977,
8630.89404118936
]
]
},
"gc.alloc.rate.norm" : {
"score" : 80.00003144623146,
"scoreError" : 8.777853572655563E-7,
"scoreConfidence" : [
80.0000305684461,
80.00003232401681
],
"scorePercentiles" : {
"0.0" : 80.00003123816623,
"50.0" : 80.00003136151065,
"90.0" : 80.00003182910513,
"95.0" : 80.00003182910513,
"99.0" : 80.00003182910513,
"99.9" : 80.00003182910513,
"99.99" : 80.00003182910513,
"99.999" : 80.00003182910513,
"99.9999" : 80.00003182910513,
"100.0" : 80.00003182910513
},
"scoreUnit" : "B/op",
"rawData" : [
[
80.00003136151065,
80.00003182910513,
80.0000313431332,
80.00003123816623,
80.00003145924207
]
]
},
"gc.count" : {
"score" : 332.0,
"scoreError" : "NaN",
"scoreConfidence" : [
332.0,
332.0
],
"scorePercentiles" : {
"0.0" : 64.0,
"50.0" : 66.0,
"90.0" : 70.0,
"95.0" : 70.0,
"99.0" : 70.0,
"99.9" : 70.0,
"99.99" : 70.0,
"99.999" : 70.0,
"99.9999" : 70.0,
"100.0" : 70.0
},
"scoreUnit" : "counts",
"rawData" : [
[
64.0,
66.0,
66.0,
70.0,
66.0
]
]
},
"gc.time" : {
"score" : 354.0,
"scoreError" : "NaN",
"scoreConfidence" : [
354.0,
354.0
],
"scorePercentiles" : {
"0.0" : 62.0,
"50.0" : 72.0,
"90.0" : 75.0,
"95.0" : 75.0,
"99.0" : 75.0,
"99.9" : 75.0,
"99.99" : 75.0,
"99.999" : 75.0,
"99.9999" : 75.0,
"100.0" : 75.0
},
"scoreUnit" : "ms",
"rawData" : [
[
62.0,
71.0,
75.0,
72.0,
74.0
]
]
}
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "com.ankurm.zgc.jmh.AllocationBench.allocate",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "C:\\Program Files\\Java\\jdk-25.0.3\\bin\\java.exe",
"jvmArgs" : [
"-XX:+UseZGC",
"-Xms2g",
"-Xmx2g"
],
"jdkVersion" : "25.0.3",
"vmName" : "Java HotSpot(TM) 64-Bit Server VM",
"vmVersion" : "25.0.3+9-LTS-195",
"warmupIterations" : 3,
"warmupTime" : "3 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "3 s",
"measurementBatchSize" : 1,
"params" : {
"size" : "1024"
},
"primaryMetric" : {
"score" : 7856.555198680649,
"scoreError" : 551.8061199354306,
"scoreConfidence" : [
7304.749078745218,
8408.36131861608
],
"scorePercentiles" : {
"0.0" : 7627.121937471512,
"50.0" : 7931.341573482751,
"90.0" : 7978.651928742275,
"95.0" : 7978.651928742275,
"99.0" : 7978.651928742275,
"99.9" : 7978.651928742275,
"99.99" : 7978.651928742275,
"99.999" : 7978.651928742275,
"99.9999" : 7978.651928742275,
"100.0" : 7978.651928742275
},
"scoreUnit" : "ops/ms",
"rawData" : [
[
7627.121937471512,
7931.341573482751,
7978.651928742275,
7807.744939489475,
7937.915614217226
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 7791.2354210639005,
"scoreError" : 547.5227976449675,
"scoreConfidence" : [
7243.712623418933,
8338.758218708868
],
"scorePercentiles" : {
"0.0" : 7563.523686899209,
"50.0" : 7865.581528341102,
"90.0" : 7912.350258105849,
"95.0" : 7912.350258105849,
"99.0" : 7912.350258105849,
"99.9" : 7912.350258105849,
"99.99" : 7912.350258105849,
"99.999" : 7912.350258105849,
"99.9999" : 7912.350258105849,
"100.0" : 7912.350258105849
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
7563.523686899209,
7865.581528341102,
7912.350258105849,
7742.928414120835,
7871.793217852505
]
]
},
"gc.alloc.rate.norm" : {
"score" : 1040.0004531063119,
"scoreError" : 3.2366558900652634E-5,
"scoreConfidence" : [
1040.000420739753,
1040.0004854728707
],
"scorePercentiles" : {
"0.0" : 1040.0004460821021,
"50.0" : 1040.0004486824491,
"90.0" : 1040.0004667012788,
"95.0" : 1040.0004667012788,
"99.0" : 1040.0004667012788,
"99.9" : 1040.0004667012788,
"99.99" : 1040.0004667012788,
"99.999" : 1040.0004667012788,
"99.9999" : 1040.0004667012788,
"100.0" : 1040.0004667012788
},
"scoreUnit" : "B/op",
"rawData" : [
[
1040.0004667012788,
1040.0004486824491,
1040.0004460821021,
1040.0004556778224,
1040.000448387907
]
]
},
"gc.count" : {
"score" : 306.0,
"scoreError" : "NaN",
"scoreConfidence" : [
306.0,
306.0
],
"scorePercentiles" : {
"0.0" : 56.0,
"50.0" : 62.0,
"90.0" : 66.0,
"95.0" : 66.0,
"99.0" : 66.0,
"99.9" : 66.0,
"99.99" : 66.0,
"99.999" : 66.0,
"99.9999" : 66.0,
"100.0" : 66.0
},
"scoreUnit" : "counts",
"rawData" : [
[
56.0,
62.0,
60.0,
62.0,
66.0
]
]
},
"gc.time" : {
"score" : 394.0,
"scoreError" : "NaN",
"scoreConfidence" : [
394.0,
394.0
],
"scorePercentiles" : {
"0.0" : 66.0,
"50.0" : 77.0,
"90.0" : 90.0,
"95.0" : 90.0,
"99.0" : 90.0,
"99.9" : 90.0,
"99.99" : 90.0,
"99.999" : 90.0,
"99.9999" : 90.0,
"100.0" : 90.0
},
"scoreUnit" : "ms",
"rawData" : [
[
74.0,
90.0,
66.0,
87.0,
77.0
]
]
}
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "com.ankurm.zgc.jmh.AllocationBench.allocate",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "C:\\Program Files\\Java\\jdk-25.0.3\\bin\\java.exe",
"jvmArgs" : [
"-XX:+UseZGC",
"-Xms2g",
"-Xmx2g"
],
"jdkVersion" : "25.0.3",
"vmName" : "Java HotSpot(TM) 64-Bit Server VM",
"vmVersion" : "25.0.3+9-LTS-195",
"warmupIterations" : 3,
"warmupTime" : "3 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "3 s",
"measurementBatchSize" : 1,
"params" : {
"size" : "32768"
},
"primaryMetric" : {
"score" : 253.3455575655424,
"scoreError" : 11.130658368805793,
"scoreConfidence" : [
242.2148991967366,
264.4762159343482
],
"scorePercentiles" : {
"0.0" : 249.5663132527872,
"50.0" : 255.15341820671904,
"90.0" : 255.87907813360476,
"95.0" : 255.87907813360476,
"99.0" : 255.87907813360476,
"99.9" : 255.87907813360476,
"99.99" : 255.87907813360476,
"99.999" : 255.87907813360476,
"99.9999" : 255.87907813360476,
"100.0" : 255.87907813360476
},
"scoreUnit" : "ops/ms",
"rawData" : [
[
255.22022825455704,
255.87907813360476,
250.90874998004404,
255.15341820671904,
249.5663132527872
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 7919.8498010975945,
"scoreError" : 347.8340098512748,
"scoreConfidence" : [
7572.01579124632,
8267.683810948869
],
"scorePercentiles" : {
"0.0" : 7801.720704651917,
"50.0" : 7975.999712101567,
"90.0" : 7999.237074428632,
"95.0" : 7999.237074428632,
"99.0" : 7999.237074428632,
"99.9" : 7999.237074428632,
"99.99" : 7999.237074428632,
"99.999" : 7999.237074428632,
"99.9999" : 7999.237074428632,
"100.0" : 7999.237074428632
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
7978.5174225614655,
7999.237074428632,
7843.774091744399,
7975.999712101567,
7801.720704651917
]
]
},
"gc.alloc.rate.norm" : {
"score" : 32784.01404856559,
"scoreError" : 6.258586077381788E-4,
"scoreConfidence" : [
32784.01342270698,
32784.014674424194
],
"scorePercentiles" : {
"0.0" : 32784.013904511936,
"50.0" : 32784.01395049924,
"90.0" : 32784.01425992587,
"95.0" : 32784.01425992587,
"99.0" : 32784.01425992587,
"99.9" : 32784.01425992587,
"99.99" : 32784.01425992587,
"99.999" : 32784.01425992587,
"99.9999" : 32784.01425992587,
"100.0" : 32784.01425992587
},
"scoreUnit" : "B/op",
"rawData" : [
[
32784.013941157355,
32784.013904511936,
32784.01418673355,
32784.01395049924,
32784.01425992587
]
]
},
"gc.count" : {
"score" : 316.0,
"scoreError" : "NaN",
"scoreConfidence" : [
316.0,
316.0
],
"scorePercentiles" : {
"0.0" : 60.0,
"50.0" : 62.0,
"90.0" : 66.0,
"95.0" : 66.0,
"99.0" : 66.0,
"99.9" : 66.0,
"99.99" : 66.0,
"99.999" : 66.0,
"99.9999" : 66.0,
"100.0" : 66.0
},
"scoreUnit" : "counts",
"rawData" : [
[
60.0,
62.0,
66.0,
66.0,
62.0
]
]
},
"gc.time" : {
"score" : 420.0,
"scoreError" : "NaN",
"scoreConfidence" : [
420.0,
420.0
],
"scorePercentiles" : {
"0.0" : 70.0,
"50.0" : 84.0,
"90.0" : 91.0,
"95.0" : 91.0,
"99.0" : 91.0,
"99.9" : 91.0,
"99.99" : 91.0,
"99.999" : 91.0,
"99.9999" : 91.0,
"100.0" : 91.0
},
"scoreUnit" : "ms",
"rawData" : [
[
70.0,
84.0,
91.0,
91.0,
84.0
]
]
}
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "com.ankurm.zgc.jmh.AllocationBench.allocateAndDrop",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "C:\\Program Files\\Java\\jdk-25.0.3\\bin\\java.exe",
"jvmArgs" : [
"-XX:+UseZGC",
"-Xms2g",
"-Xmx2g"
],
"jdkVersion" : "25.0.3",
"vmName" : "Java HotSpot(TM) 64-Bit Server VM",
"vmVersion" : "25.0.3+9-LTS-195",
"warmupIterations" : 3,
"warmupTime" : "3 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "3 s",
"measurementBatchSize" : 1,
"params" : {
"size" : "64"
},
"primaryMetric" : {
"score" : 110471.57608980188,
"scoreError" : 3078.497925329369,
"scoreConfidence" : [
107393.0781644725,
113550.07401513125
],
"scorePercentiles" : {
"0.0" : 109411.09752370935,
"50.0" : 110667.25618742694,
"90.0" : 111486.66712551969,
"95.0" : 111486.66712551969,
"99.0" : 111486.66712551969,
"99.9" : 111486.66712551969,
"99.99" : 111486.66712551969,
"99.999" : 111486.66712551969,
"99.9999" : 111486.66712551969,
"100.0" : 111486.66712551969
},
"scoreUnit" : "ops/ms",
"rawData" : [
[
110667.25618742694,
109976.88294739272,
109411.09752370935,
111486.66712551969,
110815.97666496066
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 8427.272821242434,
"scoreError" : 235.09984656448862,
"scoreConfidence" : [
8192.172974677946,
8662.372667806922
],
"scorePercentiles" : {
"0.0" : 8346.345438116648,
"50.0" : 8442.189410454406,
"90.0" : 8504.876924969614,
"95.0" : 8504.876924969614,
"99.0" : 8504.876924969614,
"99.9" : 8504.876924969614,
"99.99" : 8504.876924969614,
"99.999" : 8504.876924969614,
"99.9999" : 8504.876924969614,
"100.0" : 8504.876924969614
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
8442.189410454406,
8389.465603749055,
8346.345438116648,
8504.876924969614,
8453.48672892244
]
]
},
"gc.alloc.rate.norm" : {
"score" : 80.00003221648572,
"scoreError" : 8.807854618480771E-7,
"scoreConfidence" : [
80.00003133570026,
80.00003309727119
],
"scorePercentiles" : {
"0.0" : 80.00003192957365,
"50.0" : 80.0000321605436,
"90.0" : 80.00003252186242,
"95.0" : 80.00003252186242,
"99.0" : 80.00003252186242,
"99.9" : 80.00003252186242,
"99.99" : 80.00003252186242,
"99.999" : 80.00003252186242,
"99.9999" : 80.00003252186242,
"100.0" : 80.00003252186242
},
"scoreUnit" : "B/op",
"rawData" : [
[
80.0000321605436,
80.00003235744873,
80.00003252186242,
80.00003192957365,
80.00003211300023
]
]
},
"gc.count" : {
"score" : 332.0,
"scoreError" : "NaN",
"scoreConfidence" : [
332.0,
332.0
],
"scorePercentiles" : {
"0.0" : 62.0,
"50.0" : 66.0,
"90.0" : 72.0,
"95.0" : 72.0,
"99.0" : 72.0,
"99.9" : 72.0,
"99.99" : 72.0,
"99.999" : 72.0,
"99.9999" : 72.0,
"100.0" : 72.0
},
"scoreUnit" : "counts",
"rawData" : [
[
70.0,
62.0,
72.0,
62.0,
66.0
]
]
},
"gc.time" : {
"score" : 371.0,
"scoreError" : "NaN",
"scoreConfidence" : [
371.0,
371.0
],
"scorePercentiles" : {
"0.0" : 70.0,
"50.0" : 73.0,
"90.0" : 84.0,
"95.0" : 84.0,
"99.0" : 84.0,
"99.9" : 84.0,
"99.99" : 84.0,
"99.999" : 84.0,
"99.9999" : 84.0,
"100.0" : 84.0
},
"scoreUnit" : "ms",
"rawData" : [
[
73.0,
70.0,
84.0,
71.0,
73.0
]
]
}
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "com.ankurm.zgc.jmh.AllocationBench.allocateAndDrop",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "C:\\Program Files\\Java\\jdk-25.0.3\\bin\\java.exe",
"jvmArgs" : [
"-XX:+UseZGC",
"-Xms2g",
"-Xmx2g"
],
"jdkVersion" : "25.0.3",
"vmName" : "Java HotSpot(TM) 64-Bit Server VM",
"vmVersion" : "25.0.3+9-LTS-195",
"warmupIterations" : 3,
"warmupTime" : "3 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "3 s",
"measurementBatchSize" : 1,
"params" : {
"size" : "1024"
},
"primaryMetric" : {
"score" : 7828.989511320683,
"scoreError" : 670.0949148931466,
"scoreConfidence" : [
7158.894596427536,
8499.084426213829
],
"scorePercentiles" : {
"0.0" : 7537.316669603706,
"50.0" : 7899.555012160726,
"90.0" : 7960.275015789034,
"95.0" : 7960.275015789034,
"99.0" : 7960.275015789034,
"99.9" : 7960.275015789034,
"99.99" : 7960.275015789034,
"99.999" : 7960.275015789034,
"99.9999" : 7960.275015789034,
"100.0" : 7960.275015789034
},
"scoreUnit" : "ops/ms",
"rawData" : [
[
7803.859161924847,
7899.555012160726,
7943.941697125105,
7537.316669603706,
7960.275015789034
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 7763.834143934831,
"scoreError" : 664.8813332794696,
"scoreConfidence" : [
7098.952810655362,
8428.7154772143
],
"scorePercentiles" : {
"0.0" : 7474.365345511942,
"50.0" : 7834.069013545946,
"90.0" : 7894.009309105091,
"95.0" : 7894.009309105091,
"99.0" : 7894.009309105091,
"99.9" : 7894.009309105091,
"99.99" : 7894.009309105091,
"99.999" : 7894.009309105091,
"99.9999" : 7894.009309105091,
"100.0" : 7894.009309105091
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
7739.009605246467,
7834.069013545946,
7877.71744626471,
7474.365345511942,
7894.009309105091
]
]
},
"gc.alloc.rate.norm" : {
"score" : 1040.0004547551914,
"scoreError" : 3.942692993965783E-5,
"scoreConfidence" : [
1040.0004153282614,
1040.0004941821214
],
"scorePercentiles" : {
"0.0" : 1040.0004470989993,
"50.0" : 1040.0004505987267,
"90.0" : 1040.000472019414,
"95.0" : 1040.000472019414,
"99.0" : 1040.000472019414,
"99.9" : 1040.000472019414,
"99.99" : 1040.000472019414,
"99.999" : 1040.000472019414,
"99.9999" : 1040.000472019414,
"100.0" : 1040.000472019414
},
"scoreUnit" : "B/op",
"rawData" : [
[
1040.000455937465,
1040.0004505987267,
1040.0004481213518,
1040.000472019414,
1040.0004470989993
]
]
},
"gc.count" : {
"score" : 302.0,
"scoreError" : "NaN",
"scoreConfidence" : [
302.0,
302.0
],
"scorePercentiles" : {
"0.0" : 58.0,
"50.0" : 62.0,
"90.0" : 62.0,
"95.0" : 62.0,
"99.0" : 62.0,
"99.9" : 62.0,
"99.99" : 62.0,
"99.999" : 62.0,
"99.9999" : 62.0,
"100.0" : 62.0
},
"scoreUnit" : "counts",
"rawData" : [
[
58.0,
58.0,
62.0,
62.0,
62.0
]
]
},
"gc.time" : {
"score" : 398.0,
"scoreError" : "NaN",
"scoreConfidence" : [
398.0,
398.0
],
"scorePercentiles" : {
"0.0" : 75.0,
"50.0" : 79.0,
"90.0" : 85.0,
"95.0" : 85.0,
"99.0" : 85.0,
"99.9" : 85.0,
"99.99" : 85.0,
"99.999" : 85.0,
"99.9999" : 85.0,
"100.0" : 85.0
},
"scoreUnit" : "ms",
"rawData" : [
[
78.0,
81.0,
79.0,
85.0,
75.0
]
]
}
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "com.ankurm.zgc.jmh.AllocationBench.allocateAndDrop",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "C:\\Program Files\\Java\\jdk-25.0.3\\bin\\java.exe",
"jvmArgs" : [
"-XX:+UseZGC",
"-Xms2g",
"-Xmx2g"
],
"jdkVersion" : "25.0.3",
"vmName" : "Java HotSpot(TM) 64-Bit Server VM",
"vmVersion" : "25.0.3+9-LTS-195",
"warmupIterations" : 3,
"warmupTime" : "3 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "3 s",
"measurementBatchSize" : 1,
"params" : {
"size" : "32768"
},
"primaryMetric" : {
"score" : 250.78206653389333,
"scoreError" : 12.989172818880549,
"scoreConfidence" : [
237.79289371501278,
263.7712393527739
],
"scorePercentiles" : {
"0.0" : 246.5628928904993,
"50.0" : 249.97859755169316,
"90.0" : 255.77303282127272,
"95.0" : 255.77303282127272,
"99.0" : 255.77303282127272,
"99.9" : 255.77303282127272,
"99.99" : 255.77303282127272,
"99.999" : 255.77303282127272,
"99.9999" : 255.77303282127272,
"100.0" : 255.77303282127272
},
"scoreUnit" : "ops/ms",
"rawData" : [
[
249.7591687773807,
249.97859755169316,
255.77303282127272,
251.83664062862073,
246.5628928904993
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 7839.684309763205,
"scoreError" : 405.956461902257,
"scoreConfidence" : [
7433.727847860949,
8245.640771665463
],
"scorePercentiles" : {
"0.0" : 7707.692418606932,
"50.0" : 7814.71101330847,
"90.0" : 7995.586710601519,
"95.0" : 7995.586710601519,
"99.0" : 7995.586710601519,
"99.9" : 7995.586710601519,
"99.99" : 7995.586710601519,
"99.999" : 7995.586710601519,
"99.9999" : 7995.586710601519,
"100.0" : 7995.586710601519
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
7807.761245124227,
7814.71101330847,
7995.586710601519,
7872.670161174875,
7707.692418606932
]
]
},
"gc.alloc.rate.norm" : {
"score" : 32784.01419303672,
"scoreError" : 7.337695799190518E-4,
"scoreConfidence" : [
32784.01345926714,
32784.014926806296
],
"scorePercentiles" : {
"0.0" : 32784.01391507375,
"50.0" : 32784.01423176455,
"90.0" : 32784.01443563168,
"95.0" : 32784.01443563168,
"99.0" : 32784.01443563168,
"99.9" : 32784.01443563168,
"99.99" : 32784.01443563168,
"99.999" : 32784.01443563168,
"99.9999" : 32784.01443563168,
"100.0" : 32784.01443563168
},
"scoreUnit" : "B/op",
"rawData" : [
[
32784.014253112866,
32784.01423176455,
32784.01391507375,
32784.01412960072,
32784.01443563168
]
]
},
"gc.count" : {
"score" : 300.0,
"scoreError" : "NaN",
"scoreConfidence" : [
300.0,
300.0
],
"scorePercentiles" : {
"0.0" : 56.0,
"50.0" : 60.0,
"90.0" : 62.0,
"95.0" : 62.0,
"99.0" : 62.0,
"99.9" : 62.0,
"99.99" : 62.0,
"99.999" : 62.0,
"99.9999" : 62.0,
"100.0" : 62.0
},
"scoreUnit" : "counts",
"rawData" : [
[
62.0,
56.0,
60.0,
60.0,
62.0
]
]
},
"gc.time" : {
"score" : 397.0,
"scoreError" : "NaN",
"scoreConfidence" : [
397.0,
397.0
],
"scorePercentiles" : {
"0.0" : 72.0,
"50.0" : 76.0,
"90.0" : 90.0,
"95.0" : 90.0,
"99.0" : 90.0,
"99.9" : 90.0,
"99.99" : 90.0,
"99.999" : 90.0,
"99.9999" : 90.0,
"100.0" : 90.0
},
"scoreUnit" : "ms",
"rawData" : [
[
90.0,
76.0,
73.0,
72.0,
86.0
]
]
}
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "com.ankurm.zgc.jmh.PromotionBench.allocateWithSurvival",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "C:\\Program Files\\Java\\jdk-25.0.3\\bin\\java.exe",
"jvmArgs" : [
"-XX:+UseZGC",
"-Xms2g",
"-Xmx2g"
],
"jdkVersion" : "25.0.3",
"vmName" : "Java HotSpot(TM) 64-Bit Server VM",
"vmVersion" : "25.0.3+9-LTS-195",
"warmupIterations" : 3,
"warmupTime" : "3 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "3 s",
"measurementBatchSize" : 1,
"params" : {
"payloadBytes" : "512",
"survivorDepth" : "0"
},
"primaryMetric" : {
"score" : 13903.782674944028,
"scoreError" : 1178.8567008634968,
"scoreConfidence" : [
12724.925974080532,
15082.639375807525
],
"scorePercentiles" : {
"0.0" : 13462.27604178749,
"50.0" : 13934.815342402413,
"90.0" : 14251.990535296489,
"95.0" : 14251.990535296489,
"99.0" : 14251.990535296489,
"99.9" : 14251.990535296489,
"99.99" : 14251.990535296489,
"99.999" : 14251.990535296489,
"99.9999" : 14251.990535296489,
"100.0" : 14251.990535296489
},
"scoreUnit" : "ops/ms",
"rawData" : [
[
13767.850621744612,
13462.27604178749,
14101.980833489151,
14251.990535296489,
13934.815342402413
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 6999.825441103732,
"scoreError" : 594.6104982548703,
"scoreConfidence" : [
6405.214942848862,
7594.435939358603
],
"scorePercentiles" : {
"0.0" : 6777.314573530771,
"50.0" : 7015.722499723505,
"90.0" : 7175.507832564711,
"95.0" : 7175.507832564711,
"99.0" : 7175.507832564711,
"99.9" : 7175.507832564711,
"99.99" : 7175.507832564711,
"99.999" : 7175.507832564711,
"99.9999" : 7175.507832564711,
"100.0" : 7175.507832564711
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
6930.811095337087,
6777.314573530771,
7099.771204362588,
7175.507832564711,
7015.722499723505
]
]
},
"gc.alloc.rate.norm" : {
"score" : 528.0002604721557,
"scoreError" : 2.2469702601161056E-5,
"scoreConfidence" : [
528.0002380024531,
528.0002829418582
],
"scorePercentiles" : {
"0.0" : 528.0002539403233,
"50.0" : 528.0002598681236,
"90.0" : 528.0002689764308,
"95.0" : 528.0002689764308,
"99.0" : 528.0002689764308,
"99.9" : 528.0002689764308,
"99.99" : 528.0002689764308,
"99.999" : 528.0002689764308,
"99.9999" : 528.0002689764308,
"100.0" : 528.0002689764308
},
"scoreUnit" : "B/op",
"rawData" : [
[
528.0002629434799,
528.0002689764308,
528.0002566324209,
528.0002539403233,
528.0002598681236
]
]
},
"gc.count" : {
"score" : 265.0,
"scoreError" : "NaN",
"scoreConfidence" : [
265.0,
265.0
],
"scorePercentiles" : {
"0.0" : 44.0,
"50.0" : 54.0,
"90.0" : 58.0,
"95.0" : 58.0,
"99.0" : 58.0,
"99.9" : 58.0,
"99.99" : 58.0,
"99.999" : 58.0,
"99.9999" : 58.0,
"100.0" : 58.0
},
"scoreUnit" : "counts",
"rawData" : [
[
53.0,
44.0,
56.0,
54.0,
58.0
]
]
},
"gc.time" : {
"score" : 381.0,
"scoreError" : "NaN",
"scoreConfidence" : [
381.0,
381.0
],
"scorePercentiles" : {
"0.0" : 68.0,
"50.0" : 74.0,
"90.0" : 88.0,
"95.0" : 88.0,
"99.0" : 88.0,
"99.9" : 88.0,
"99.99" : 88.0,
"99.999" : 88.0,
"99.9999" : 88.0,
"100.0" : 88.0
},
"scoreUnit" : "ms",
"rawData" : [
[
74.0,
72.0,
68.0,
79.0,
88.0
]
]
}
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "com.ankurm.zgc.jmh.PromotionBench.allocateWithSurvival",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "C:\\Program Files\\Java\\jdk-25.0.3\\bin\\java.exe",
"jvmArgs" : [
"-XX:+UseZGC",
"-Xms2g",
"-Xmx2g"
],
"jdkVersion" : "25.0.3",
"vmName" : "Java HotSpot(TM) 64-Bit Server VM",
"vmVersion" : "25.0.3+9-LTS-195",
"warmupIterations" : 3,
"warmupTime" : "3 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "3 s",
"measurementBatchSize" : 1,
"params" : {
"payloadBytes" : "512",
"survivorDepth" : "4096"
},
"primaryMetric" : {
"score" : 13636.60355598157,
"scoreError" : 1198.622505755969,
"scoreConfidence" : [
12437.9810502256,
14835.22606173754
],
"scorePercentiles" : {
"0.0" : 13216.162652941186,
"50.0" : 13653.90254991153,
"90.0" : 13939.70024877388,
"95.0" : 13939.70024877388,
"99.0" : 13939.70024877388,
"99.9" : 13939.70024877388,
"99.99" : 13939.70024877388,
"99.999" : 13939.70024877388,
"99.9999" : 13939.70024877388,
"100.0" : 13939.70024877388
},
"scoreUnit" : "ops/ms",
"rawData" : [
[
13216.162652941186,
13939.70024877388,
13448.261759740884,
13924.990568540383,
13653.90254991153
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 6865.623086756355,
"scoreError" : 603.4937771065861,
"scoreConfidence" : [
6262.129309649769,
7469.1168638629415
],
"scorePercentiles" : {
"0.0" : 6653.987804310966,
"50.0" : 6874.370527668311,
"90.0" : 7018.1576519099835,
"95.0" : 7018.1576519099835,
"99.0" : 7018.1576519099835,
"99.9" : 7018.1576519099835,
"99.99" : 7018.1576519099835,
"99.999" : 7018.1576519099835,
"99.9999" : 7018.1576519099835,
"100.0" : 7018.1576519099835
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
6653.987804310966,
7018.1576519099835,
6770.693739253476,
7010.905710639042,
6874.370527668311
]
]
},
"gc.alloc.rate.norm" : {
"score" : 528.0022660836757,
"scoreError" : 2.0009102419014257E-4,
"scoreConfidence" : [
528.0020659926515,
528.0024661747
],
"scorePercentiles" : {
"0.0" : 528.0022160388754,
"50.0" : 528.0022622888627,
"90.0" : 528.0023369615072,
"95.0" : 528.0023369615072,
"99.0" : 528.0023369615072,
"99.9" : 528.0023369615072,
"99.99" : 528.0023369615072,
"99.999" : 528.0023369615072,
"99.9999" : 528.0023369615072,
"100.0" : 528.0023369615072
},
"scoreUnit" : "B/op",
"rawData" : [
[
528.0023369615072,
528.0022160388754,
528.0022970165304,
528.002218112603,
528.0022622888627
]
]
},
"gc.count" : {
"score" : 264.0,
"scoreError" : "NaN",
"scoreConfidence" : [
264.0,
264.0
],
"scorePercentiles" : {
"0.0" : 51.0,
"50.0" : 52.0,
"90.0" : 55.0,
"95.0" : 55.0,
"99.0" : 55.0,
"99.9" : 55.0,
"99.99" : 55.0,
"99.999" : 55.0,
"99.9999" : 55.0,
"100.0" : 55.0
},
"scoreUnit" : "counts",
"rawData" : [
[
52.0,
54.0,
52.0,
55.0,
51.0
]
]
},
"gc.time" : {
"score" : 398.0,
"scoreError" : "NaN",
"scoreConfidence" : [
398.0,
398.0
],
"scorePercentiles" : {
"0.0" : 69.0,
"50.0" : 75.0,
"90.0" : 92.0,
"95.0" : 92.0,
"99.0" : 92.0,
"99.9" : 92.0,
"99.99" : 92.0,
"99.999" : 92.0,
"99.9999" : 92.0,
"100.0" : 92.0
},
"scoreUnit" : "ms",
"rawData" : [
[
69.0,
89.0,
73.0,
75.0,
92.0
]
]
}
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "com.ankurm.zgc.jmh.PromotionBench.allocateWithSurvival",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "C:\\Program Files\\Java\\jdk-25.0.3\\bin\\java.exe",
"jvmArgs" : [
"-XX:+UseZGC",
"-Xms2g",
"-Xmx2g"
],
"jdkVersion" : "25.0.3",
"vmName" : "Java HotSpot(TM) 64-Bit Server VM",
"vmVersion" : "25.0.3+9-LTS-195",
"warmupIterations" : 3,
"warmupTime" : "3 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "3 s",
"measurementBatchSize" : 1,
"params" : {
"payloadBytes" : "512",
"survivorDepth" : "262144"
},
"primaryMetric" : {
"score" : 12640.643438747637,
"scoreError" : 825.6841309590111,
"scoreConfidence" : [
11814.959307788626,
13466.327569706647
],
"scorePercentiles" : {
"0.0" : 12345.64910255038,
"50.0" : 12621.127395416841,
"90.0" : 12897.269195144376,
"95.0" : 12897.269195144376,
"99.0" : 12897.269195144376,
"99.9" : 12897.269195144376,
"99.99" : 12897.269195144376,
"99.999" : 12897.269195144376,
"99.9999" : 12897.269195144376,
"100.0" : 12897.269195144376
},
"scoreUnit" : "ops/ms",
"rawData" : [
[
12621.127395416841,
12549.20704949713,
12345.64910255038,
12789.964451129452,
12897.269195144376
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 6365.146687282447,
"scoreError" : 415.7486474670637,
"scoreConfidence" : [
5949.398039815383,
6780.895334749511
],
"scorePercentiles" : {
"0.0" : 6216.270499600908,
"50.0" : 6355.516265069727,
"90.0" : 6494.219126705681,
"95.0" : 6494.219126705681,
"99.0" : 6494.219126705681,
"99.9" : 6494.219126705681,
"99.99" : 6494.219126705681,
"99.999" : 6494.219126705681,
"99.9999" : 6494.219126705681,
"100.0" : 6494.219126705681
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
6355.516265069727,
6319.53495168803,
6216.270499600908,
6440.192593347887,
6494.219126705681
]
]
},
"gc.alloc.rate.norm" : {
"score" : 528.1385306892081,
"scoreError" : 0.00901540976452295,
"scoreConfidence" : [
528.1295152794436,
528.1475460989726
],
"scorePercentiles" : {
"0.0" : 528.1357738358398,
"50.0" : 528.1387153801012,
"90.0" : 528.1418111665996,
"95.0" : 528.1418111665996,
"99.0" : 528.1418111665996,
"99.9" : 528.1418111665996,
"99.99" : 528.1418111665996,
"99.999" : 528.1418111665996,
"99.9999" : 528.1418111665996,
"100.0" : 528.1418111665996
},
"scoreUnit" : "B/op",
"rawData" : [
[
528.1387153801012,
528.1394570598159,
528.1418111665996,
528.1368960036839,
528.1357738358398
]
]
},
"gc.count" : {
"score" : 340.0,
"scoreError" : "NaN",
"scoreConfidence" : [
340.0,
340.0
],
"scorePercentiles" : {
"0.0" : 66.0,
"50.0" : 66.0,
"90.0" : 72.0,
"95.0" : 72.0,
"99.0" : 72.0,
"99.9" : 72.0,
"99.99" : 72.0,
"99.999" : 72.0,
"99.9999" : 72.0,
"100.0" : 72.0
},
"scoreUnit" : "counts",
"rawData" : [
[
70.0,
72.0,
66.0,
66.0,
66.0
]
]
},
"gc.time" : {
"score" : 2687.0,
"scoreError" : "NaN",
"scoreConfidence" : [
2687.0,
2687.0
],
"scorePercentiles" : {
"0.0" : 472.0,
"50.0" : 559.0,
"90.0" : 595.0,
"95.0" : 595.0,
"99.0" : 595.0,
"99.9" : 595.0,
"99.99" : 595.0,
"99.999" : 595.0,
"99.9999" : 595.0,
"100.0" : 595.0
},
"scoreUnit" : "ms",
"rawData" : [
[
595.0,
559.0,
572.0,
489.0,
472.0
]
]
}
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "com.ankurm.zgc.jmh.LoadBarrierBench.chaseReferences",
"mode" : "avgt",
"threads" : 1,
"forks" : 1,
"jvm" : "C:\\Program Files\\Java\\jdk-25.0.3\\bin\\java.exe",
"jvmArgs" : [
"-XX:+UseZGC",
"-Xms2g",
"-Xmx2g"
],
"jdkVersion" : "25.0.3",
"vmName" : "Java HotSpot(TM) 64-Bit Server VM",
"vmVersion" : "25.0.3+9-LTS-195",
"warmupIterations" : 3,
"warmupTime" : "3 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "3 s",
"measurementBatchSize" : 1,
"params" : {
"nodes" : "1048576"
},
"primaryMetric" : {
"score" : 92328.97936185382,
"scoreError" : 18617.021853273676,
"scoreConfidence" : [
73711.95750858015,
110946.0012151275
],
"scorePercentiles" : {
"0.0" : 89239.85588235295,
"50.0" : 89837.53823529412,
"90.0" : 100691.66,
"95.0" : 100691.66,
"99.0" : 100691.66,
"99.9" : 100691.66,
"99.99" : 100691.66,
"99.999" : 100691.66,
"99.9999" : 100691.66,
"100.0" : 100691.66
},
"scoreUnit" : "us/op",
"rawData" : [
[
89837.53823529412,
92342.55151515151,
100691.66,
89533.2911764706,
89239.85588235295
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 0.0033343730901597432,
"scoreError" : 6.505735605705893E-5,
"scoreConfidence" : [
0.003269315734102684,
0.0033994304462168024
],
"scorePercentiles" : {
"0.0" : 0.003317909703072371,
"50.0" : 0.0033295652185460008,
"90.0" : 0.0033588246979196204,
"95.0" : 0.0033588246979196204,
"99.0" : 0.0033588246979196204,
"99.9" : 0.0033588246979196204,
"99.99" : 0.0033588246979196204,
"99.999" : 0.0033588246979196204,
"99.9999" : 0.0033588246979196204,
"100.0" : 0.0033588246979196204
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
0.003321721893112557,
0.0033295652185460008,
0.0033588246979196204,
0.003317909703072371,
0.0033438439381481646
]
]
},
"gc.alloc.rate.norm" : {
"score" : 322.90053475935827,
"scoreError" : 70.39926174653553,
"scoreConfidence" : [
252.50127301282274,
393.2997965058938
],
"scorePercentiles" : {
"0.0" : 311.52941176470586,
"50.0" : 312.94117647058823,
"90.0" : 354.6666666666667,
"95.0" : 354.6666666666667,
"99.0" : 354.6666666666667,
"99.9" : 354.6666666666667,
"99.99" : 354.6666666666667,
"99.999" : 354.6666666666667,
"99.9999" : 354.6666666666667,
"100.0" : 354.6666666666667
},
"scoreUnit" : "B/op",
"rawData" : [
[
312.94117647058823,
322.42424242424244,
354.6666666666667,
311.52941176470586,
312.94117647058823
]
]
},
"gc.count" : {
"score" : 0.0,
"scoreError" : "NaN",
"scoreConfidence" : [
0.0,
0.0
],
"scorePercentiles" : {
"0.0" : 0.0,
"50.0" : 0.0,
"90.0" : 0.0,
"95.0" : 0.0,
"99.0" : 0.0,
"99.9" : 0.0,
"99.99" : 0.0,
"99.999" : 0.0,
"99.9999" : 0.0,
"100.0" : 0.0
},
"scoreUnit" : "counts",
"rawData" : [
[
0.0,
0.0,
0.0,
0.0,
0.0
]
]
}
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "com.ankurm.zgc.jmh.LoadBarrierBench.readSameReferenceRepeatedly",
"mode" : "avgt",
"threads" : 1,
"forks" : 1,
"jvm" : "C:\\Program Files\\Java\\jdk-25.0.3\\bin\\java.exe",
"jvmArgs" : [
"-XX:+UseZGC",
"-Xms2g",
"-Xmx2g"
],
"jdkVersion" : "25.0.3",
"vmName" : "Java HotSpot(TM) 64-Bit Server VM",
"vmVersion" : "25.0.3+9-LTS-195",
"warmupIterations" : 3,
"warmupTime" : "3 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "3 s",
"measurementBatchSize" : 1,
"params" : {
"nodes" : "1048576"
},
"primaryMetric" : {
"score" : 0.02316438686241045,
"scoreError" : 0.005728253152658764,
"scoreConfidence" : [
0.017436133709751687,
0.028892640015069214
],
"scorePercentiles" : {
"0.0" : 0.022065150018007015,
"50.0" : 0.02274348186494304,
"90.0" : 0.025756960707324677,
"95.0" : 0.025756960707324677,
"99.0" : 0.025756960707324677,
"99.9" : 0.025756960707324677,
"99.99" : 0.025756960707324677,
"99.999" : 0.025756960707324677,
"99.9999" : 0.025756960707324677,
"100.0" : 0.025756960707324677
},
"scoreUnit" : "us/op",
"rawData" : [
[
0.022065150018007015,
0.02274348186494304,
0.022919672977731818,
0.022336668744045697,
0.025756960707324677
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 0.0033737634317976663,
"scoreError" : 2.6572689873143182E-5,
"scoreConfidence" : [
0.003347190741924523,
0.0034003361216708096
],
"scorePercentiles" : {
"0.0" : 0.003368101047520573,
"50.0" : 0.0033691996877570803,
"90.0" : 0.003381527304540832,
"95.0" : 0.003381527304540832,
"99.0" : 0.003381527304540832,
"99.9" : 0.003381527304540832,
"99.99" : 0.003381527304540832,
"99.999" : 0.003381527304540832,
"99.9999" : 0.003381527304540832,
"100.0" : 0.003381527304540832
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
0.003381527304540832,
0.003368101047520573,
0.0033691996877570803,
0.0033810891112295294,
0.0033689000079403174
]
]
},
"gc.alloc.rate.norm" : {
"score" : 8.195006376742389E-5,
"scoreError" : 1.9889179598729256E-5,
"scoreConfidence" : [
6.206088416869464E-5,
1.0183924336615314E-4
],
"scorePercentiles" : {
"0.0" : 7.824501203307538E-5,
"50.0" : 8.033142076598602E-5,
"90.0" : 9.099715680242034E-5,
"95.0" : 9.099715680242034E-5,
"99.0" : 9.099715680242034E-5,
"99.9" : 9.099715680242034E-5,
"99.99" : 9.099715680242034E-5,
"99.999" : 9.099715680242034E-5,
"99.9999" : 9.099715680242034E-5,
"100.0" : 9.099715680242034E-5
},
"scoreUnit" : "B/op",
"rawData" : [
[
7.824501203307538E-5,
8.033142076598602E-5,
8.097893323884365E-5,
7.919779599679407E-5,
9.099715680242034E-5
]
]
},
"gc.count" : {
"score" : 0.0,
"scoreError" : "NaN",
"scoreConfidence" : [
0.0,
0.0
],
"scorePercentiles" : {
"0.0" : 0.0,
"50.0" : 0.0,
"90.0" : 0.0,
"95.0" : 0.0,
"99.0" : 0.0,
"99.9" : 0.0,
"99.99" : 0.0,
"99.999" : 0.0,
"99.9999" : 0.0,
"100.0" : 0.0
},
"scoreUnit" : "counts",
"rawData" : [
[
0.0,
0.0,
0.0,
0.0,
0.0
]
]
}
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "com.ankurm.zgc.jmh.LoadBarrierBench.sumPrimitives",
"mode" : "avgt",
"threads" : 1,
"forks" : 1,
"jvm" : "C:\\Program Files\\Java\\jdk-25.0.3\\bin\\java.exe",
"jvmArgs" : [
"-XX:+UseZGC",
"-Xms2g",
"-Xmx2g"
],
"jdkVersion" : "25.0.3",
"vmName" : "Java HotSpot(TM) 64-Bit Server VM",
"vmVersion" : "25.0.3+9-LTS-195",
"warmupIterations" : 3,
"warmupTime" : "3 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "3 s",
"measurementBatchSize" : 1,
"params" : {
"nodes" : "1048576"
},
"primaryMetric" : {
"score" : 270.5803206070388,
"scoreError" : 3.98643315711393,
"scoreConfidence" : [
266.59388744992486,
274.56675376415274
],
"scorePercentiles" : {
"0.0" : 269.8874156696951,
"50.0" : 270.20708562168,
"90.0" : 272.367846447046,
"95.0" : 272.367846447046,
"99.0" : 272.367846447046,
"99.9" : 272.367846447046,
"99.99" : 272.367846447046,
"99.999" : 272.367846447046,
"99.9999" : 272.367846447046,
"100.0" : 272.367846447046
},
"scoreUnit" : "us/op",
"rawData" : [
[
269.8874156696951,
270.5453709546561,
272.367846447046,
270.20708562168,
269.8938843421171
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 0.0033808829647037353,
"scoreError" : 1.8498674986097086E-6,
"scoreConfidence" : [
0.0033790330972051255,
0.003382732832202345
],
"scorePercentiles" : {
"0.0" : 0.0033804054005236632,
"50.0" : 0.0033807564576235115,
"90.0" : 0.003381677977334371,
"95.0" : 0.003381677977334371,
"99.0" : 0.003381677977334371,
"99.9" : 0.003381677977334371,
"99.99" : 0.003381677977334371,
"99.999" : 0.003381677977334371,
"99.9999" : 0.003381677977334371,
"100.0" : 0.003381677977334371
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
0.003381677977334371,
0.0033807564576235115,
0.0033804054005236632,
0.0033806674757146105,
0.0033809075123225215
]
]
},
"gc.alloc.rate.norm" : {
"score" : 0.9593472142203143,
"scoreError" : 0.013897429953041917,
"scoreConfidence" : [
0.9454497842672724,
0.9732446441733562
],
"scorePercentiles" : {
"0.0" : 0.9569205863836676,
"50.0" : 0.9579544431439633,
"90.0" : 0.9656048643252564,
"95.0" : 0.9656048643252564,
"99.0" : 0.9656048643252564,
"99.9" : 0.9656048643252564,
"99.99" : 0.9656048643252564,
"99.999" : 0.9656048643252564,
"99.9999" : 0.9656048643252564,
"100.0" : 0.9656048643252564
},
"scoreUnit" : "B/op",
"rawData" : [
[
0.9570927408473509,
0.9591634364013342,
0.9656048643252564,
0.9579544431439633,
0.9569205863836676
]
]
},
"gc.count" : {
"score" : 0.0,
"scoreError" : "NaN",
"scoreConfidence" : [
0.0,
0.0
],
"scorePercentiles" : {
"0.0" : 0.0,
"50.0" : 0.0,
"90.0" : 0.0,
"95.0" : 0.0,
"99.0" : 0.0,
"99.9" : 0.0,
"99.99" : 0.0,
"99.999" : 0.0,
"99.9999" : 0.0,
"100.0" : 0.0
},
"scoreUnit" : "counts",
"rawData" : [
[
0.0,
0.0,
0.0,
0.0,
0.0
]
]
}
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "com.ankurm.zgc.jmh.StoreBarrierBench.storeNullIntoOld",
"mode" : "avgt",
"threads" : 1,
"forks" : 1,
"jvm" : "C:\\Program Files\\Java\\jdk-25.0.3\\bin\\java.exe",
"jvmArgs" : [
"-XX:+UseZGC",
"-Xms2g",
"-Xmx2g"
],
"jdkVersion" : "25.0.3",
"vmName" : "Java HotSpot(TM) 64-Bit Server VM",
"vmVersion" : "25.0.3+9-LTS-195",
"warmupIterations" : 3,
"warmupTime" : "3 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "3 s",
"measurementBatchSize" : 1,
"params" : {
"slots" : "1048576"
},
"primaryMetric" : {
"score" : 3.239042176679324,
"scoreError" : 0.476662928597759,
"scoreConfidence" : [
2.762379248081565,
3.715705105277083
],
"scorePercentiles" : {
"0.0" : 3.091414044051246,
"50.0" : 3.2730501915245256,
"90.0" : 3.368274761747213,
"95.0" : 3.368274761747213,
"99.0" : 3.368274761747213,
"99.9" : 3.368274761747213,
"99.99" : 3.368274761747213,
"99.999" : 3.368274761747213,
"99.9999" : 3.368274761747213,
"100.0" : 3.368274761747213
},
"scoreUnit" : "ns/op",
"rawData" : [
[
3.127505089712369,
3.2730501915245256,
3.091414044051246,
3.3349667963612655,
3.368274761747213
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 0.003368245710734839,
"scoreError" : 3.2048574412037784E-6,
"scoreConfidence" : [
0.003365040853293635,
0.0033714505681760425
],
"scorePercentiles" : {
"0.0" : 0.003367081739239855,
"50.0" : 0.0033682381840521775,
"90.0" : 0.0033691973296336017,
"95.0" : 0.0033691973296336017,
"99.0" : 0.0033691973296336017,
"99.9" : 0.0033691973296336017,
"99.99" : 0.0033691973296336017,
"99.999" : 0.0033691973296336017,
"99.9999" : 0.0033691973296336017,
"100.0" : 0.0033691973296336017
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
0.0033678626001926813,
0.0033688487005558744,
0.003367081739239855,
0.0033691973296336017,
0.0033682381840521775
]
]
},
"gc.alloc.rate.norm" : {
"score" : 1.1441414158074954E-5,
"scoreError" : 1.6905982924896593E-6,
"scoreConfidence" : [
9.750815865585296E-6,
1.3132012450564613E-5
],
"scorePercentiles" : {
"0.0" : 1.0915703507467731E-5,
"50.0" : 1.1562961187616123E-5,
"90.0" : 1.1897621407773616E-5,
"95.0" : 1.1897621407773616E-5,
"99.0" : 1.1897621407773616E-5,
"99.9" : 1.1897621407773616E-5,
"99.99" : 1.1897621407773616E-5,
"99.999" : 1.1897621407773616E-5,
"99.9999" : 1.1897621407773616E-5,
"100.0" : 1.1897621407773616E-5
},
"scoreUnit" : "B/op",
"rawData" : [
[
1.1047689775067952E-5,
1.1562961187616123E-5,
1.0915703507467731E-5,
1.1783094912449349E-5,
1.1897621407773616E-5
]
]
},
"gc.count" : {
"score" : 0.0,
"scoreError" : "NaN",
"scoreConfidence" : [
0.0,
0.0
],
"scorePercentiles" : {
"0.0" : 0.0,
"50.0" : 0.0,
"90.0" : 0.0,
"95.0" : 0.0,
"99.0" : 0.0,
"99.9" : 0.0,
"99.99" : 0.0,
"99.999" : 0.0,
"99.9999" : 0.0,
"100.0" : 0.0
},
"scoreUnit" : "counts",
"rawData" : [
[
0.0,
0.0,
0.0,
0.0,
0.0
]
]
}
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "com.ankurm.zgc.jmh.StoreBarrierBench.storeOldToOld",
"mode" : "avgt",
"threads" : 1,
"forks" : 1,
"jvm" : "C:\\Program Files\\Java\\jdk-25.0.3\\bin\\java.exe",
"jvmArgs" : [
"-XX:+UseZGC",
"-Xms2g",
"-Xmx2g"
],
"jdkVersion" : "25.0.3",
"vmName" : "Java HotSpot(TM) 64-Bit Server VM",
"vmVersion" : "25.0.3+9-LTS-195",
"warmupIterations" : 3,
"warmupTime" : "3 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "3 s",
"measurementBatchSize" : 1,
"params" : {
"slots" : "1048576"
},
"primaryMetric" : {
"score" : 3.4620731637376294,
"scoreError" : 0.3922106411576235,
"scoreConfidence" : [
3.069862522580006,
3.854283804895253
],
"scorePercentiles" : {
"0.0" : 3.331660080080304,
"50.0" : 3.467457523703339,
"90.0" : 3.592489958108695,
"95.0" : 3.592489958108695,
"99.0" : 3.592489958108695,
"99.9" : 3.592489958108695,
"99.99" : 3.592489958108695,
"99.999" : 3.592489958108695,
"99.9999" : 3.592489958108695,
"100.0" : 3.592489958108695
},
"scoreUnit" : "ns/op",
"rawData" : [
[
3.3983920658365885,
3.331660080080304,
3.467457523703339,
3.5203661909592183,
3.592489958108695
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 0.0033736363041292614,
"scoreError" : 2.7467079602604263E-5,
"scoreConfidence" : [
0.003346169224526657,
0.0034011033837318657
],
"scorePercentiles" : {
"0.0" : 0.00336801856897827,
"50.0" : 0.0033692498828826324,
"90.0" : 0.003381803078636036,
"95.0" : 0.003381803078636036,
"99.0" : 0.003381803078636036,
"99.9" : 0.003381803078636036,
"99.99" : 0.003381803078636036,
"99.999" : 0.003381803078636036,
"99.9999" : 0.003381803078636036,
"100.0" : 0.003381803078636036
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
0.0033810488919238002,
0.0033692498828826324,
0.003368061098225567,
0.00336801856897827,
0.003381803078636036
]
]
},
"gc.alloc.rate.norm" : {
"score" : 1.2248780407553344E-5,
"scoreError" : 1.4199073944476746E-6,
"scoreConfidence" : [
1.082887301310567E-5,
1.3668687802001018E-5
],
"scorePercentiles" : {
"0.0" : 1.177150815481944E-5,
"50.0" : 1.2247930484518008E-5,
"90.0" : 1.2740766418121616E-5,
"95.0" : 1.2740766418121616E-5,
"99.0" : 1.2740766418121616E-5,
"99.9" : 1.2740766418121616E-5,
"99.99" : 1.2740766418121616E-5,
"99.999" : 1.2740766418121616E-5,
"99.9999" : 1.2740766418121616E-5,
"100.0" : 1.2740766418121616E-5
},
"scoreUnit" : "B/op",
"rawData" : [
[
1.2049550624126973E-5,
1.177150815481944E-5,
1.2247930484518008E-5,
1.2434146356180682E-5,
1.2740766418121616E-5
]
]
},
"gc.count" : {
"score" : 0.0,
"scoreError" : "NaN",
"scoreConfidence" : [
0.0,
0.0
],
"scorePercentiles" : {
"0.0" : 0.0,
"50.0" : 0.0,
"90.0" : 0.0,
"95.0" : 0.0,
"99.0" : 0.0,
"99.9" : 0.0,
"99.99" : 0.0,
"99.999" : 0.0,
"99.9999" : 0.0,
"100.0" : 0.0
},
"scoreUnit" : "counts",
"rawData" : [
[
0.0,
0.0,
0.0,
0.0,
0.0
]
]
}
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "com.ankurm.zgc.jmh.StoreBarrierBench.storeOldToYoung",
"mode" : "avgt",
"threads" : 1,
"forks" : 1,
"jvm" : "C:\\Program Files\\Java\\jdk-25.0.3\\bin\\java.exe",
"jvmArgs" : [
"-XX:+UseZGC",
"-Xms2g",
"-Xmx2g"
],
"jdkVersion" : "25.0.3",
"vmName" : "Java HotSpot(TM) 64-Bit Server VM",
"vmVersion" : "25.0.3+9-LTS-195",
"warmupIterations" : 3,
"warmupTime" : "3 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "3 s",
"measurementBatchSize" : 1,
"params" : {
"slots" : "1048576"
},
"primaryMetric" : {
"score" : 6.581877342874139,
"scoreError" : 0.9787690394143025,
"scoreConfidence" : [
5.603108303459837,
7.560646382288442
],
"scorePercentiles" : {
"0.0" : 6.229139848325649,
"50.0" : 6.556820782582807,
"90.0" : 6.909460558996732,
"95.0" : 6.909460558996732,
"99.0" : 6.909460558996732,
"99.9" : 6.909460558996732,
"99.99" : 6.909460558996732,
"99.999" : 6.909460558996732,
"99.9999" : 6.909460558996732,
"100.0" : 6.909460558996732
},
"scoreUnit" : "ns/op",
"rawData" : [
[
6.556820782582807,
6.229139848325649,
6.718368400331931,
6.495597124133573,
6.909460558996732
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 2320.7385953309677,
"scoreError" : 347.2043831584557,
"scoreConfidence" : [
1973.534212172512,
2667.9429784894232
],
"scorePercentiles" : {
"0.0" : 2208.1068541844334,
"50.0" : 2326.8378850033364,
"90.0" : 2449.2666498389963,
"95.0" : 2449.2666498389963,
"99.0" : 2449.2666498389963,
"99.9" : 2449.2666498389963,
"99.99" : 2449.2666498389963,
"99.999" : 2449.2666498389963,
"99.9999" : 2449.2666498389963,
"100.0" : 2449.2666498389963
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
2326.8378850033364,
2449.2666498389963,
2270.7760102200828,
2348.7055774079886,
2208.1068541844334
]
]
},
"gc.alloc.rate.norm" : {
"score" : 16.000023404672824,
"scoreError" : 3.5185278623129333E-6,
"scoreConfidence" : [
16.000019886144962,
16.000026923200686
],
"scorePercentiles" : {
"0.0" : 16.000022161931714,
"50.0" : 16.000023332403824,
"90.0" : 16.00002458979938,
"95.0" : 16.00002458979938,
"99.0" : 16.00002458979938,
"99.9" : 16.00002458979938,
"99.99" : 16.00002458979938,
"99.999" : 16.00002458979938,
"99.9999" : 16.00002458979938,
"100.0" : 16.00002458979938
},
"scoreUnit" : "B/op",
"rawData" : [
[
16.000023332403824,
16.000022161931714,
16.000023903879438,
16.000023035349766,
16.00002458979938
]
]
},
"gc.count" : {
"score" : 113.0,
"scoreError" : "NaN",
"scoreConfidence" : [
113.0,
113.0
],
"scorePercentiles" : {
"0.0" : 20.0,
"50.0" : 23.0,
"90.0" : 24.0,
"95.0" : 24.0,
"99.0" : 24.0,
"99.9" : 24.0,
"99.99" : 24.0,
"99.999" : 24.0,
"99.9999" : 24.0,
"100.0" : 24.0
},
"scoreUnit" : "counts",
"rawData" : [
[
24.0,
20.0,
22.0,
24.0,
23.0
]
]
},
"gc.time" : {
"score" : 2317.0,
"scoreError" : "NaN",
"scoreConfidence" : [
2317.0,
2317.0
],
"scorePercentiles" : {
"0.0" : 383.0,
"50.0" : 446.0,
"90.0" : 536.0,
"95.0" : 536.0,
"99.0" : 536.0,
"99.9" : 536.0,
"99.99" : 536.0,
"99.999" : 536.0,
"99.9999" : 536.0,
"100.0" : 536.0
},
"scoreUnit" : "ms",
"rawData" : [
[
511.0,
383.0,
441.0,
536.0,
446.0
]
]
}
}
},
{
"jmhVersion" : "1.37",
"benchmark" : "com.ankurm.zgc.jmh.StoreBarrierBench.storePrimitiveIntoOld",
"mode" : "avgt",
"threads" : 1,
"forks" : 1,
"jvm" : "C:\\Program Files\\Java\\jdk-25.0.3\\bin\\java.exe",
"jvmArgs" : [
"-XX:+UseZGC",
"-Xms2g",
"-Xmx2g"
],
"jdkVersion" : "25.0.3",
"vmName" : "Java HotSpot(TM) 64-Bit Server VM",
"vmVersion" : "25.0.3+9-LTS-195",
"warmupIterations" : 3,
"warmupTime" : "3 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "3 s",
"measurementBatchSize" : 1,
"params" : {
"slots" : "1048576"
},
"primaryMetric" : {
"score" : 1.8788002432574626,
"scoreError" : 0.1345427201327799,
"scoreConfidence" : [
1.7442575231246829,
2.0133429633902424
],
"scorePercentiles" : {
"0.0" : 1.850918390011838,
"50.0" : 1.8667259467133068,
"90.0" : 1.9396897450647115,
"95.0" : 1.9396897450647115,
"99.0" : 1.9396897450647115,
"99.9" : 1.9396897450647115,
"99.99" : 1.9396897450647115,
"99.999" : 1.9396897450647115,
"99.9999" : 1.9396897450647115,
"100.0" : 1.9396897450647115
},
"scoreUnit" : "ns/op",
"rawData" : [
[
1.850918390011838,
1.8642419519335587,
1.8667259467133068,
1.9396897450647115,
1.8724251825638978
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 0.0033709540103636845,
"scoreError" : 2.2663587383550436E-5,
"scoreConfidence" : [
0.0033482904229801343,
0.0033936175977472348
],
"scorePercentiles" : {
"0.0" : 0.0033674489601515202,
"50.0" : 0.0033689226869759257,
"90.0" : 0.00338140301241057,
"95.0" : 0.00338140301241057,
"99.0" : 0.00338140301241057,
"99.9" : 0.00338140301241057,
"99.99" : 0.00338140301241057,
"99.999" : 0.00338140301241057,
"99.9999" : 0.00338140301241057,
"100.0" : 0.00338140301241057
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
0.0033674489601515202,
0.003367825461553803,
0.003369169930726605,
0.0033689226869759257,
0.00338140301241057
]
]
},
"gc.alloc.rate.norm" : {
"score" : 6.6416664218697905E-6,
"scoreError" : 4.760617861258884E-7,
"scoreConfidence" : [
6.165604635743902E-6,
7.117728207995679E-6
],
"scorePercentiles" : {
"0.0" : 6.5362334882502065E-6,
"50.0" : 6.595484263940182E-6,
"90.0" : 6.8527517571520594E-6,
"95.0" : 6.8527517571520594E-6,
"99.0" : 6.8527517571520594E-6,
"99.9" : 6.8527517571520594E-6,
"99.99" : 6.8527517571520594E-6,
"99.999" : 6.8527517571520594E-6,
"99.9999" : 6.8527517571520594E-6,
"100.0" : 6.8527517571520594E-6
},
"scoreUnit" : "B/op",
"rawData" : [
[
6.5362334882502065E-6,
6.583958511923337E-6,
6.595484263940182E-6,
6.8527517571520594E-6,
6.63990408808317E-6
]
]
},
"gc.count" : {
"score" : 0.0,
"scoreError" : "NaN",
"scoreConfidence" : [
0.0,
0.0
],
"scorePercentiles" : {
"0.0" : 0.0,
"50.0" : 0.0,
"90.0" : 0.0,
"95.0" : 0.0,
"99.0" : 0.0,
"99.9" : 0.0,
"99.99" : 0.0,
"99.999" : 0.0,
"99.9999" : 0.0,
"100.0" : 0.0
},
"scoreUnit" : "counts",
"rawData" : [
[
0.0,
0.0,
0.0,
0.0,
0.0
]
]
}
}
}
]