1
0
Files
zgc-jdk25-benchmarks/results/07-jmh-g1.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:+UseG1GC",
"-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" : 109398.89489397492,
"scoreError" : 3927.820602912446,
"scoreConfidence" : [
105471.07429106248,
113326.71549688737
],
"scorePercentiles" : {
"0.0" : 108216.34392857712,
"50.0" : 109526.92424662814,
"90.0" : 110510.17531937174,
"95.0" : 110510.17531937174,
"99.0" : 110510.17531937174,
"99.9" : 110510.17531937174,
"99.99" : 110510.17531937174,
"99.999" : 110510.17531937174,
"99.9999" : 110510.17531937174,
"100.0" : 110510.17531937174
},
"scoreUnit" : "ops/ms",
"rawData" : [
[
109526.92424662814,
110510.17531937174,
108216.34392857712,
110239.58793715932,
108501.44303813837
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 8345.78033031376,
"scoreError" : 299.9050071896369,
"scoreConfidence" : [
8045.8753231241235,
8645.685337503397
],
"scorePercentiles" : {
"0.0" : 8255.50913574631,
"50.0" : 8355.488350948275,
"90.0" : 8430.634916801757,
"95.0" : 8430.634916801757,
"99.0" : 8430.634916801757,
"99.9" : 8430.634916801757,
"99.99" : 8430.634916801757,
"99.999" : 8430.634916801757,
"99.9999" : 8430.634916801757,
"100.0" : 8430.634916801757
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
8355.488350948275,
8430.634916801757,
8255.50913574631,
8410.009552058369,
8277.259696014093
]
]
},
"gc.alloc.rate.norm" : {
"score" : 80.00002123057752,
"scoreError" : 7.663020872752789E-7,
"scoreConfidence" : [
80.00002046427542,
80.00002199687961
],
"scorePercentiles" : {
"0.0" : 80.00002101296273,
"50.0" : 80.00002120565506,
"90.0" : 80.00002146268163,
"95.0" : 80.00002146268163,
"99.0" : 80.00002146268163,
"99.9" : 80.00002146268163,
"99.99" : 80.00002146268163,
"99.999" : 80.00002146268163,
"99.9999" : 80.00002146268163,
"100.0" : 80.00002146268163
},
"scoreUnit" : "B/op",
"rawData" : [
[
80.00002120565506,
80.00002101296273,
80.00002146268163,
80.00002106770214,
80.00002140388611
]
]
},
"gc.count" : {
"score" : 102.0,
"scoreError" : "NaN",
"scoreConfidence" : [
102.0,
102.0
],
"scorePercentiles" : {
"0.0" : 20.0,
"50.0" : 20.0,
"90.0" : 21.0,
"95.0" : 21.0,
"99.0" : 21.0,
"99.9" : 21.0,
"99.99" : 21.0,
"99.999" : 21.0,
"99.9999" : 21.0,
"100.0" : 21.0
},
"scoreUnit" : "counts",
"rawData" : [
[
21.0,
20.0,
20.0,
21.0,
20.0
]
]
},
"gc.time" : {
"score" : 137.0,
"scoreError" : "NaN",
"scoreConfidence" : [
137.0,
137.0
],
"scorePercentiles" : {
"0.0" : 26.0,
"50.0" : 28.0,
"90.0" : 29.0,
"95.0" : 29.0,
"99.0" : 29.0,
"99.9" : 29.0,
"99.99" : 29.0,
"99.999" : 29.0,
"99.9999" : 29.0,
"100.0" : 29.0
},
"scoreUnit" : "ms",
"rawData" : [
[
26.0,
26.0,
28.0,
28.0,
29.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:+UseG1GC",
"-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" : 7988.094992553338,
"scoreError" : 714.8580246926015,
"scoreConfidence" : [
7273.2369678607365,
8702.95301724594
],
"scorePercentiles" : {
"0.0" : 7701.879332448786,
"50.0" : 7966.047044738368,
"90.0" : 8164.541223047242,
"95.0" : 8164.541223047242,
"99.0" : 8164.541223047242,
"99.9" : 8164.541223047242,
"99.99" : 8164.541223047242,
"99.999" : 8164.541223047242,
"99.9999" : 8164.541223047242,
"100.0" : 8164.541223047242
},
"scoreUnit" : "ops/ms",
"rawData" : [
[
7701.879332448786,
7965.596714843766,
8142.410647688525,
8164.541223047242,
7966.047044738368
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 7921.904021768931,
"scoreError" : 708.6125487683848,
"scoreConfidence" : [
7213.291473000546,
8630.516570537315
],
"scorePercentiles" : {
"0.0" : 7638.122612982929,
"50.0" : 7900.144343131304,
"90.0" : 8097.066067830137,
"95.0" : 8097.066067830137,
"99.0" : 8097.066067830137,
"99.9" : 8097.066067830137,
"99.99" : 8097.066067830137,
"99.999" : 8097.066067830137,
"99.9999" : 8097.066067830137,
"100.0" : 8097.066067830137
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
7638.122612982929,
7899.705041677984,
8074.482043222303,
8097.066067830137,
7900.144343131304
]
]
},
"gc.alloc.rate.norm" : {
"score" : 1040.0002908176796,
"scoreError" : 2.633956994413332E-5,
"scoreConfidence" : [
1040.0002644781096,
1040.0003171572496
],
"scorePercentiles" : {
"0.0" : 1040.0002844545816,
"50.0" : 1040.0002914225372,
"90.0" : 1040.0003015156572,
"95.0" : 1040.0003015156572,
"99.0" : 1040.0003015156572,
"99.9" : 1040.0003015156572,
"99.99" : 1040.0003015156572,
"99.999" : 1040.0003015156572,
"99.9999" : 1040.0003015156572,
"100.0" : 1040.0003015156572
},
"scoreUnit" : "B/op",
"rawData" : [
[
1040.0003015156572,
1040.0002914225372,
1040.0002852127777,
1040.0002844545816,
1040.0002914828444
]
]
},
"gc.count" : {
"score" : 97.0,
"scoreError" : "NaN",
"scoreConfidence" : [
97.0,
97.0
],
"scorePercentiles" : {
"0.0" : 19.0,
"50.0" : 19.0,
"90.0" : 20.0,
"95.0" : 20.0,
"99.0" : 20.0,
"99.9" : 20.0,
"99.99" : 20.0,
"99.999" : 20.0,
"99.9999" : 20.0,
"100.0" : 20.0
},
"scoreUnit" : "counts",
"rawData" : [
[
19.0,
19.0,
20.0,
20.0,
19.0
]
]
},
"gc.time" : {
"score" : 152.0,
"scoreError" : "NaN",
"scoreConfidence" : [
152.0,
152.0
],
"scorePercentiles" : {
"0.0" : 27.0,
"50.0" : 31.0,
"90.0" : 32.0,
"95.0" : 32.0,
"99.0" : 32.0,
"99.9" : 32.0,
"99.99" : 32.0,
"99.999" : 32.0,
"99.9999" : 32.0,
"100.0" : 32.0
},
"scoreUnit" : "ms",
"rawData" : [
[
31.0,
31.0,
31.0,
32.0,
27.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:+UseG1GC",
"-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" : 259.45176000991614,
"scoreError" : 16.083901357887687,
"scoreConfidence" : [
243.36785865202845,
275.5356613678038
],
"scorePercentiles" : {
"0.0" : 254.05293816460747,
"50.0" : 258.7559901215624,
"90.0" : 264.4968041604801,
"95.0" : 264.4968041604801,
"99.0" : 264.4968041604801,
"99.9" : 264.4968041604801,
"99.99" : 264.4968041604801,
"99.999" : 264.4968041604801,
"99.9999" : 264.4968041604801,
"100.0" : 264.4968041604801
},
"scoreUnit" : "ops/ms",
"rawData" : [
[
257.31639948477886,
254.05293816460747,
264.4968041604801,
262.63666811815204,
258.7559901215624
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 8111.036498203738,
"scoreError" : 502.74850447626363,
"scoreConfidence" : [
7608.287993727475,
8613.785002680002
],
"scorePercentiles" : {
"0.0" : 7942.2808937768295,
"50.0" : 8089.201842763397,
"90.0" : 8268.734575427314,
"95.0" : 8268.734575427314,
"99.0" : 8268.734575427314,
"99.9" : 8268.734575427314,
"99.99" : 8268.734575427314,
"99.999" : 8268.734575427314,
"99.9999" : 8268.734575427314,
"100.0" : 8268.734575427314
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
8044.352858693922,
7942.2808937768295,
8268.734575427314,
8210.61232035723,
8089.201842763397
]
]
},
"gc.alloc.rate.norm" : {
"score" : 32784.008950311785,
"scoreError" : 5.577410695908633E-4,
"scoreConfidence" : [
32784.008392570715,
32784.009508052855
],
"scorePercentiles" : {
"0.0" : 32784.00877712305,
"50.0" : 32784.008973530144,
"90.0" : 32784.00913977507,
"95.0" : 32784.00913977507,
"99.0" : 32784.00913977507,
"99.9" : 32784.00913977507,
"99.99" : 32784.00913977507,
"99.999" : 32784.00913977507,
"99.9999" : 32784.00913977507,
"100.0" : 32784.00913977507
},
"scoreUnit" : "B/op",
"rawData" : [
[
32784.00902196839,
32784.00913977507,
32784.00877712305,
32784.008839162256,
32784.008973530144
]
]
},
"gc.count" : {
"score" : 103.0,
"scoreError" : "NaN",
"scoreConfidence" : [
103.0,
103.0
],
"scorePercentiles" : {
"0.0" : 20.0,
"50.0" : 21.0,
"90.0" : 21.0,
"95.0" : 21.0,
"99.0" : 21.0,
"99.9" : 21.0,
"99.99" : 21.0,
"99.999" : 21.0,
"99.9999" : 21.0,
"100.0" : 21.0
},
"scoreUnit" : "counts",
"rawData" : [
[
21.0,
20.0,
20.0,
21.0,
21.0
]
]
},
"gc.time" : {
"score" : 162.0,
"scoreError" : "NaN",
"scoreConfidence" : [
162.0,
162.0
],
"scorePercentiles" : {
"0.0" : 31.0,
"50.0" : 33.0,
"90.0" : 34.0,
"95.0" : 34.0,
"99.0" : 34.0,
"99.9" : 34.0,
"99.99" : 34.0,
"99.999" : 34.0,
"99.9999" : 34.0,
"100.0" : 34.0
},
"scoreUnit" : "ms",
"rawData" : [
[
33.0,
33.0,
31.0,
31.0,
34.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:+UseG1GC",
"-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" : 108943.52663376971,
"scoreError" : 8618.787108903065,
"scoreConfidence" : [
100324.73952486664,
117562.31374267278
],
"scorePercentiles" : {
"0.0" : 105429.14828579927,
"50.0" : 109006.73676922463,
"90.0" : 110960.77420297479,
"95.0" : 110960.77420297479,
"99.0" : 110960.77420297479,
"99.9" : 110960.77420297479,
"99.99" : 110960.77420297479,
"99.999" : 110960.77420297479,
"99.9999" : 110960.77420297479,
"100.0" : 110960.77420297479
},
"scoreUnit" : "ops/ms",
"rawData" : [
[
110797.86049112171,
110960.77420297479,
108523.11341972814,
109006.73676922463,
105429.14828579927
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 8311.005339899639,
"scoreError" : 657.605318387097,
"scoreConfidence" : [
7653.400021512542,
8968.610658286736
],
"scorePercentiles" : {
"0.0" : 8042.852047157894,
"50.0" : 8315.860225396995,
"90.0" : 8464.883921027553,
"95.0" : 8464.883921027553,
"99.0" : 8464.883921027553,
"99.9" : 8464.883921027553,
"99.99" : 8464.883921027553,
"99.999" : 8464.883921027553,
"99.9999" : 8464.883921027553,
"100.0" : 8464.883921027553
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
8452.507514980998,
8464.883921027553,
8278.922990934749,
8315.860225396995,
8042.852047157894
]
]
},
"gc.alloc.rate.norm" : {
"score" : 80.00002132451024,
"scoreError" : 1.7076085103450955E-6,
"scoreConfidence" : [
80.00001961690174,
80.00002303211875
],
"scorePercentiles" : {
"0.0" : 80.00002092887024,
"50.0" : 80.00002130650543,
"90.0" : 80.00002202514187,
"95.0" : 80.00002202514187,
"99.0" : 80.00002202514187,
"99.9" : 80.00002202514187,
"99.99" : 80.00002202514187,
"99.999" : 80.00002202514187,
"99.9999" : 80.00002202514187,
"100.0" : 80.00002202514187
},
"scoreUnit" : "B/op",
"rawData" : [
[
80.00002095998708,
80.00002092887024,
80.0000214020466,
80.00002130650543,
80.00002202514187
]
]
},
"gc.count" : {
"score" : 102.0,
"scoreError" : "NaN",
"scoreConfidence" : [
102.0,
102.0
],
"scorePercentiles" : {
"0.0" : 20.0,
"50.0" : 20.0,
"90.0" : 21.0,
"95.0" : 21.0,
"99.0" : 21.0,
"99.9" : 21.0,
"99.99" : 21.0,
"99.999" : 21.0,
"99.9999" : 21.0,
"100.0" : 21.0
},
"scoreUnit" : "counts",
"rawData" : [
[
21.0,
21.0,
20.0,
20.0,
20.0
]
]
},
"gc.time" : {
"score" : 134.0,
"scoreError" : "NaN",
"scoreConfidence" : [
134.0,
134.0
],
"scorePercentiles" : {
"0.0" : 26.0,
"50.0" : 27.0,
"90.0" : 28.0,
"95.0" : 28.0,
"99.0" : 28.0,
"99.9" : 28.0,
"99.99" : 28.0,
"99.999" : 28.0,
"99.9999" : 28.0,
"100.0" : 28.0
},
"scoreUnit" : "ms",
"rawData" : [
[
27.0,
28.0,
26.0,
26.0,
27.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:+UseG1GC",
"-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" : 8155.042417410188,
"scoreError" : 210.1404818975382,
"scoreConfidence" : [
7944.90193551265,
8365.182899307727
],
"scorePercentiles" : {
"0.0" : 8093.092211441557,
"50.0" : 8146.332364827549,
"90.0" : 8243.42941516659,
"95.0" : 8243.42941516659,
"99.0" : 8243.42941516659,
"99.9" : 8243.42941516659,
"99.99" : 8243.42941516659,
"99.999" : 8243.42941516659,
"99.9999" : 8243.42941516659,
"100.0" : 8243.42941516659
},
"scoreUnit" : "ops/ms",
"rawData" : [
[
8146.332364827549,
8243.42941516659,
8150.0323487520445,
8142.325746863197,
8093.092211441557
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 8087.490086807798,
"scoreError" : 208.52839660856702,
"scoreConfidence" : [
7878.961690199231,
8296.018483416365
],
"scorePercentiles" : {
"0.0" : 8026.130382203547,
"50.0" : 8078.8159089386445,
"90.0" : 8175.266195229863,
"95.0" : 8175.266195229863,
"99.0" : 8175.266195229863,
"99.9" : 8175.266195229863,
"99.99" : 8175.266195229863,
"99.999" : 8175.266195229863,
"99.9999" : 8175.266195229863,
"100.0" : 8175.266195229863
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
8078.8159089386445,
8175.266195229863,
8082.387262890627,
8074.850684776306,
8026.130382203547
]
]
},
"gc.alloc.rate.norm" : {
"score" : 1040.0002847447115,
"scoreError" : 7.327196962902556E-6,
"scoreConfidence" : [
1040.0002774175146,
1040.0002920719085
],
"scorePercentiles" : {
"0.0" : 1040.0002816722974,
"50.0" : 1040.0002849629686,
"90.0" : 1040.000286918761,
"95.0" : 1040.000286918761,
"99.0" : 1040.000286918761,
"99.9" : 1040.000286918761,
"99.99" : 1040.000286918761,
"99.999" : 1040.000286918761,
"99.9999" : 1040.000286918761,
"100.0" : 1040.000286918761
},
"scoreUnit" : "B/op",
"rawData" : [
[
1040.000284946526,
1040.0002816722974,
1040.0002849629686,
1040.0002852230045,
1040.000286918761
]
]
},
"gc.count" : {
"score" : 99.0,
"scoreError" : "NaN",
"scoreConfidence" : [
99.0,
99.0
],
"scorePercentiles" : {
"0.0" : 19.0,
"50.0" : 20.0,
"90.0" : 20.0,
"95.0" : 20.0,
"99.0" : 20.0,
"99.9" : 20.0,
"99.99" : 20.0,
"99.999" : 20.0,
"99.9999" : 20.0,
"100.0" : 20.0
},
"scoreUnit" : "counts",
"rawData" : [
[
20.0,
20.0,
20.0,
20.0,
19.0
]
]
},
"gc.time" : {
"score" : 154.0,
"scoreError" : "NaN",
"scoreConfidence" : [
154.0,
154.0
],
"scorePercentiles" : {
"0.0" : 29.0,
"50.0" : 31.0,
"90.0" : 32.0,
"95.0" : 32.0,
"99.0" : 32.0,
"99.9" : 32.0,
"99.99" : 32.0,
"99.999" : 32.0,
"99.9999" : 32.0,
"100.0" : 32.0
},
"scoreUnit" : "ms",
"rawData" : [
[
31.0,
31.0,
32.0,
31.0,
29.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:+UseG1GC",
"-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" : 266.90488592836016,
"scoreError" : 6.916719344419699,
"scoreConfidence" : [
259.9881665839405,
273.82160527277983
],
"scorePercentiles" : {
"0.0" : 263.87214786560423,
"50.0" : 267.33264756673015,
"90.0" : 268.60830950170583,
"95.0" : 268.60830950170583,
"99.0" : 268.60830950170583,
"99.9" : 268.60830950170583,
"99.99" : 268.60830950170583,
"99.999" : 268.60830950170583,
"99.9999" : 268.60830950170583,
"100.0" : 268.60830950170583
},
"scoreUnit" : "ops/ms",
"rawData" : [
[
267.02586989465425,
267.33264756673015,
263.87214786560423,
268.60830950170583,
267.6854548131063
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 8343.928215000566,
"scoreError" : 215.62419708486655,
"scoreConfidence" : [
8128.304017915699,
8559.552412085432
],
"scorePercentiles" : {
"0.0" : 8249.262098960611,
"50.0" : 8357.47198092997,
"90.0" : 8396.631720698639,
"95.0" : 8396.631720698639,
"99.0" : 8396.631720698639,
"99.9" : 8396.631720698639,
"99.99" : 8396.631720698639,
"99.999" : 8396.631720698639,
"99.9999" : 8396.631720698639,
"100.0" : 8396.631720698639
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
8347.744421543695,
8357.47198092997,
8249.262098960611,
8396.631720698639,
8368.530852869915
]
]
},
"gc.alloc.rate.norm" : {
"score" : 32784.00870011185,
"scoreError" : 2.2597471126300508E-4,
"scoreConfidence" : [
32784.00847413714,
32784.008926086564
],
"scorePercentiles" : {
"0.0" : 32784.00864631985,
"50.0" : 32784.008687878486,
"90.0" : 32784.00879995756,
"95.0" : 32784.00879995756,
"99.0" : 32784.00879995756,
"99.9" : 32784.00879995756,
"99.99" : 32784.00879995756,
"99.999" : 32784.00879995756,
"99.9999" : 32784.00879995756,
"100.0" : 32784.00879995756
},
"scoreUnit" : "B/op",
"rawData" : [
[
32784.00869298349,
32784.008687878486,
32784.00879995756,
32784.00864631985,
32784.00867341985
]
]
},
"gc.count" : {
"score" : 105.0,
"scoreError" : "NaN",
"scoreConfidence" : [
105.0,
105.0
],
"scorePercentiles" : {
"0.0" : 21.0,
"50.0" : 21.0,
"90.0" : 21.0,
"95.0" : 21.0,
"99.0" : 21.0,
"99.9" : 21.0,
"99.99" : 21.0,
"99.999" : 21.0,
"99.9999" : 21.0,
"100.0" : 21.0
},
"scoreUnit" : "counts",
"rawData" : [
[
21.0,
21.0,
21.0,
21.0,
21.0
]
]
},
"gc.time" : {
"score" : 171.0,
"scoreError" : "NaN",
"scoreConfidence" : [
171.0,
171.0
],
"scorePercentiles" : {
"0.0" : 33.0,
"50.0" : 34.0,
"90.0" : 35.0,
"95.0" : 35.0,
"99.0" : 35.0,
"99.9" : 35.0,
"99.99" : 35.0,
"99.999" : 35.0,
"99.9999" : 35.0,
"100.0" : 35.0
},
"scoreUnit" : "ms",
"rawData" : [
[
35.0,
33.0,
34.0,
35.0,
34.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:+UseG1GC",
"-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" : 14815.57166847854,
"scoreError" : 380.35231274347245,
"scoreConfidence" : [
14435.219355735067,
15195.923981222013
],
"scorePercentiles" : {
"0.0" : 14665.745986275591,
"50.0" : 14844.881535062415,
"90.0" : 14902.270633512884,
"95.0" : 14902.270633512884,
"99.0" : 14902.270633512884,
"99.9" : 14902.270633512884,
"99.99" : 14902.270633512884,
"99.999" : 14902.270633512884,
"99.9999" : 14902.270633512884,
"100.0" : 14902.270633512884
},
"scoreUnit" : "ops/ms",
"rawData" : [
[
14770.70746011631,
14665.745986275591,
14894.252727425503,
14902.270633512884,
14844.881535062415
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 7459.2875418741005,
"scoreError" : 191.27221176622683,
"scoreConfidence" : [
7268.0153301078735,
7650.5597536403275
],
"scorePercentiles" : {
"0.0" : 7384.116194930712,
"50.0" : 7474.270136750213,
"90.0" : 7503.209626162454,
"95.0" : 7503.209626162454,
"99.0" : 7503.209626162454,
"99.9" : 7503.209626162454,
"99.99" : 7503.209626162454,
"99.999" : 7503.209626162454,
"99.9999" : 7503.209626162454,
"100.0" : 7503.209626162454
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
7436.333246464321,
7384.116194930712,
7498.508505062805,
7503.209626162454,
7474.270136750213
]
]
},
"gc.alloc.rate.norm" : {
"score" : 528.0001593978604,
"scoreError" : 4.174753446580878E-6,
"scoreConfidence" : [
528.000155223107,
528.0001635726139
],
"scorePercentiles" : {
"0.0" : 528.0001583114554,
"50.0" : 528.0001596618939,
"90.0" : 528.0001609138233,
"95.0" : 528.0001609138233,
"99.0" : 528.0001609138233,
"99.9" : 528.0001609138233,
"99.99" : 528.0001609138233,
"99.999" : 528.0001609138233,
"99.9999" : 528.0001609138233,
"100.0" : 528.0001609138233
},
"scoreUnit" : "B/op",
"rawData" : [
[
528.0001597267247,
528.0001609138233,
528.0001583754048,
528.0001583114554,
528.0001596618939
]
]
},
"gc.count" : {
"score" : 92.0,
"scoreError" : "NaN",
"scoreConfidence" : [
92.0,
92.0
],
"scorePercentiles" : {
"0.0" : 18.0,
"50.0" : 18.0,
"90.0" : 19.0,
"95.0" : 19.0,
"99.0" : 19.0,
"99.9" : 19.0,
"99.99" : 19.0,
"99.999" : 19.0,
"99.9999" : 19.0,
"100.0" : 19.0
},
"scoreUnit" : "counts",
"rawData" : [
[
19.0,
18.0,
18.0,
18.0,
19.0
]
]
},
"gc.time" : {
"score" : 141.0,
"scoreError" : "NaN",
"scoreConfidence" : [
141.0,
141.0
],
"scorePercentiles" : {
"0.0" : 27.0,
"50.0" : 28.0,
"90.0" : 29.0,
"95.0" : 29.0,
"99.0" : 29.0,
"99.9" : 29.0,
"99.99" : 29.0,
"99.999" : 29.0,
"99.9999" : 29.0,
"100.0" : 29.0
},
"scoreUnit" : "ms",
"rawData" : [
[
28.0,
28.0,
29.0,
27.0,
29.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:+UseG1GC",
"-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" : 14421.195993775103,
"scoreError" : 366.6062234342232,
"scoreConfidence" : [
14054.589770340881,
14787.802217209326
],
"scorePercentiles" : {
"0.0" : 14313.205950643802,
"50.0" : 14460.679738839155,
"90.0" : 14519.554878745854,
"95.0" : 14519.554878745854,
"99.0" : 14519.554878745854,
"99.9" : 14519.554878745854,
"99.99" : 14519.554878745854,
"99.999" : 14519.554878745854,
"99.9999" : 14519.554878745854,
"100.0" : 14519.554878745854
},
"scoreUnit" : "ops/ms",
"rawData" : [
[
14313.205950643802,
14460.679738839155,
14486.632051556702,
14519.554878745854,
14325.907349090008
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 7260.877361645607,
"scoreError" : 184.54695521130887,
"scoreConfidence" : [
7076.330406434298,
7445.424316856916
],
"scorePercentiles" : {
"0.0" : 7206.449380881749,
"50.0" : 7280.682712869871,
"90.0" : 7310.497584484451,
"95.0" : 7310.497584484451,
"99.0" : 7310.497584484451,
"99.9" : 7310.497584484451,
"99.99" : 7310.497584484451,
"99.999" : 7310.497584484451,
"99.9999" : 7310.497584484451,
"100.0" : 7310.497584484451
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
7206.449380881749,
7280.682712869871,
7293.742022860905,
7310.497584484451,
7213.015107131058
]
]
},
"gc.alloc.rate.norm" : {
"score" : 528.0011091591476,
"scoreError" : 2.8222432726627597E-5,
"scoreConfidence" : [
528.0010809367149,
528.0011373815804
],
"scorePercentiles" : {
"0.0" : 528.0011018332416,
"50.0" : 528.0011062037659,
"90.0" : 528.0011172662134,
"95.0" : 528.0011172662134,
"99.0" : 528.0011172662134,
"99.9" : 528.0011172662134,
"99.99" : 528.0011172662134,
"99.999" : 528.0011172662134,
"99.9999" : 528.0011172662134,
"100.0" : 528.0011172662134
},
"scoreUnit" : "B/op",
"rawData" : [
[
528.0011172662134,
528.0011062037659,
528.0011037508051,
528.0011018332416,
528.0011167417125
]
]
},
"gc.count" : {
"score" : 90.0,
"scoreError" : "NaN",
"scoreConfidence" : [
90.0,
90.0
],
"scorePercentiles" : {
"0.0" : 18.0,
"50.0" : 18.0,
"90.0" : 18.0,
"95.0" : 18.0,
"99.0" : 18.0,
"99.9" : 18.0,
"99.99" : 18.0,
"99.999" : 18.0,
"99.9999" : 18.0,
"100.0" : 18.0
},
"scoreUnit" : "counts",
"rawData" : [
[
18.0,
18.0,
18.0,
18.0,
18.0
]
]
},
"gc.time" : {
"score" : 209.0,
"scoreError" : "NaN",
"scoreConfidence" : [
209.0,
209.0
],
"scorePercentiles" : {
"0.0" : 41.0,
"50.0" : 42.0,
"90.0" : 43.0,
"95.0" : 43.0,
"99.0" : 43.0,
"99.9" : 43.0,
"99.99" : 43.0,
"99.999" : 43.0,
"99.9999" : 43.0,
"100.0" : 43.0
},
"scoreUnit" : "ms",
"rawData" : [
[
42.0,
43.0,
41.0,
41.0,
42.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:+UseG1GC",
"-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" : 11452.134694784934,
"scoreError" : 538.3700523846873,
"scoreConfidence" : [
10913.764642400247,
11990.504747169622
],
"scorePercentiles" : {
"0.0" : 11269.89490649887,
"50.0" : 11434.973086410908,
"90.0" : 11602.4228572038,
"95.0" : 11602.4228572038,
"99.0" : 11602.4228572038,
"99.9" : 11602.4228572038,
"99.99" : 11602.4228572038,
"99.999" : 11602.4228572038,
"99.9999" : 11602.4228572038,
"100.0" : 11602.4228572038
},
"scoreUnit" : "ops/ms",
"rawData" : [
[
11374.485039868687,
11602.4228572038,
11434.973086410908,
11269.89490649887,
11578.897583942411
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 5766.394154030592,
"scoreError" : 270.67836245033595,
"scoreConfidence" : [
5495.715791580256,
6037.072516480928
],
"scorePercentiles" : {
"0.0" : 5674.91405693332,
"50.0" : 5757.4542897962065,
"90.0" : 5842.459802434346,
"95.0" : 5842.459802434346,
"99.0" : 5842.459802434346,
"99.9" : 5842.459802434346,
"99.99" : 5842.459802434346,
"99.999" : 5842.459802434346,
"99.9999" : 5842.459802434346,
"100.0" : 5842.459802434346
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
5727.414286353601,
5842.459802434346,
5757.4542897962065,
5674.91405693332,
5829.728334635488
]
]
},
"gc.alloc.rate.norm" : {
"score" : 528.0764943500852,
"scoreError" : 0.003548361443034707,
"scoreConfidence" : [
528.0729459886422,
528.0800427115282
],
"scorePercentiles" : {
"0.0" : 528.0755025019137,
"50.0" : 528.0765995302288,
"90.0" : 528.0776922727686,
"95.0" : 528.0776922727686,
"99.0" : 528.0776922727686,
"99.9" : 528.0776922727686,
"99.99" : 528.0776922727686,
"99.999" : 528.0776922727686,
"99.9999" : 528.0776922727686,
"100.0" : 528.0776922727686
},
"scoreUnit" : "B/op",
"rawData" : [
[
528.0770163478661,
528.0755025019137,
528.0765995302288,
528.0776922727686,
528.075661097649
]
]
},
"gc.count" : {
"score" : 92.0,
"scoreError" : "NaN",
"scoreConfidence" : [
92.0,
92.0
],
"scorePercentiles" : {
"0.0" : 17.0,
"50.0" : 18.0,
"90.0" : 20.0,
"95.0" : 20.0,
"99.0" : 20.0,
"99.9" : 20.0,
"99.99" : 20.0,
"99.999" : 20.0,
"99.9999" : 20.0,
"100.0" : 20.0
},
"scoreUnit" : "counts",
"rawData" : [
[
19.0,
17.0,
20.0,
18.0,
18.0
]
]
},
"gc.time" : {
"score" : 2477.0,
"scoreError" : "NaN",
"scoreConfidence" : [
2477.0,
2477.0
],
"scorePercentiles" : {
"0.0" : 475.0,
"50.0" : 495.0,
"90.0" : 524.0,
"95.0" : 524.0,
"99.0" : 524.0,
"99.9" : 524.0,
"99.99" : 524.0,
"99.999" : 524.0,
"99.9999" : 524.0,
"100.0" : 524.0
},
"scoreUnit" : "ms",
"rawData" : [
[
495.0,
505.0,
524.0,
478.0,
475.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:+UseG1GC",
"-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" : 82080.59872372373,
"scoreError" : 5967.4821485814655,
"scoreConfidence" : [
76113.11657514227,
88048.08087230519
],
"scorePercentiles" : {
"0.0" : 80917.4,
"50.0" : 81601.45675675676,
"90.0" : 84794.0638888889,
"95.0" : 84794.0638888889,
"99.0" : 84794.0638888889,
"99.9" : 84794.0638888889,
"99.99" : 84794.0638888889,
"99.999" : 84794.0638888889,
"99.9999" : 84794.0638888889,
"100.0" : 84794.0638888889
},
"scoreUnit" : "us/op",
"rawData" : [
[
81754.28918918919,
81601.45675675676,
84794.0638888889,
80917.4,
81335.78378378379
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 0.0021809052320858496,
"scoreError" : 5.6958226787361025E-5,
"scoreConfidence" : [
0.0021239470052984884,
0.002237863458873211
],
"scorePercentiles" : {
"0.0" : 0.0021634272802775684,
"50.0" : 0.0021830214825934603,
"90.0" : 0.0022000076983739983,
"95.0" : 0.0022000076983739983,
"99.0" : 0.0022000076983739983,
"99.9" : 0.0022000076983739983,
"99.99" : 0.0022000076983739983,
"99.999" : 0.0022000076983739983,
"99.9999" : 0.0022000076983739983,
"100.0" : 0.0022000076983739983
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
0.0021888669284737244,
0.0021830214825934603,
0.002169202770710497,
0.0021634272802775684,
0.0022000076983739983
]
]
},
"gc.alloc.rate.norm" : {
"score" : 187.7259996838944,
"scoreError" : 12.871767823737075,
"scoreConfidence" : [
174.8542318601573,
200.5977675076315
],
"scorePercentiles" : {
"0.0" : 183.57894736842104,
"50.0" : 187.67567567567568,
"90.0" : 192.88888888888889,
"95.0" : 192.88888888888889,
"99.0" : 192.88888888888889,
"99.9" : 192.88888888888889,
"99.99" : 192.88888888888889,
"99.999" : 192.88888888888889,
"99.9999" : 192.88888888888889,
"100.0" : 192.88888888888889
},
"scoreUnit" : "B/op",
"rawData" : [
[
187.67567567567568,
186.8108108108108,
192.88888888888889,
183.57894736842104,
187.67567567567568
]
]
},
"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:+UseG1GC",
"-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.02164312294891882,
"scoreError" : 7.705914098439794E-4,
"scoreConfidence" : [
0.02087253153907484,
0.0224137143587628
],
"scorePercentiles" : {
"0.0" : 0.021408116825852783,
"50.0" : 0.021630863729111337,
"90.0" : 0.021945951728286586,
"95.0" : 0.021945951728286586,
"99.0" : 0.021945951728286586,
"99.9" : 0.021945951728286586,
"99.99" : 0.021945951728286586,
"99.999" : 0.021945951728286586,
"99.9999" : 0.021945951728286586,
"100.0" : 0.021945951728286586
},
"scoreUnit" : "us/op",
"rawData" : [
[
0.021408116825852783,
0.021945951728286586,
0.021539297817852267,
0.021691384643491116,
0.021630863729111337
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 0.0021964411558716506,
"scoreError" : 1.56555515595109E-6,
"scoreConfidence" : [
0.0021948756007156996,
0.0021980067110276016
],
"scorePercentiles" : {
"0.0" : 0.0021957651854566046,
"50.0" : 0.0021965674826351024,
"90.0" : 0.002196836875669765,
"95.0" : 0.002196836875669765,
"99.0" : 0.002196836875669765,
"99.9" : 0.002196836875669765,
"99.99" : 0.002196836875669765,
"99.999" : 0.002196836875669765,
"99.9999" : 0.002196836875669765,
"100.0" : 0.002196836875669765
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
0.0021964184663975104,
0.002196617769199271,
0.0021957651854566046,
0.002196836875669765,
0.0021965674826351024
]
]
},
"gc.alloc.rate.norm" : {
"score" : 4.98526013146811E-5,
"scoreError" : 1.7913802531533667E-6,
"scoreConfidence" : [
4.806122106152774E-5,
5.1643981567834466E-5
],
"scorePercentiles" : {
"0.0" : 4.931008013965254E-5,
"50.0" : 4.983088750692285E-5,
"90.0" : 5.055377151321891E-5,
"95.0" : 5.055377151321891E-5,
"99.0" : 5.055377151321891E-5,
"99.9" : 5.055377151321891E-5,
"99.99" : 5.055377151321891E-5,
"99.999" : 5.055377151321891E-5,
"99.9999" : 5.055377151321891E-5,
"100.0" : 5.055377151321891E-5
},
"scoreUnit" : "B/op",
"rawData" : [
[
4.931008013965254E-5,
5.055377151321891E-5,
4.959720212079703E-5,
4.997106529281421E-5,
4.983088750692285E-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:+UseG1GC",
"-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.5487132030655,
"scoreError" : 3.034496336252809,
"scoreConfidence" : [
267.5142168668127,
273.5832095393183
],
"scorePercentiles" : {
"0.0" : 269.8209059859788,
"50.0" : 270.46045778138233,
"90.0" : 271.6983067729084,
"95.0" : 271.6983067729084,
"99.0" : 271.6983067729084,
"99.9" : 271.6983067729084,
"99.99" : 271.6983067729084,
"99.999" : 271.6983067729084,
"99.9999" : 271.6983067729084,
"100.0" : 271.6983067729084
},
"scoreUnit" : "us/op",
"rawData" : [
[
269.8483720093542,
271.6983067729084,
270.46045778138233,
269.8209059859788,
270.915523465704
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 0.0022063400679190664,
"scoreError" : 2.4320101841940513E-6,
"scoreConfidence" : [
0.0022039080577348725,
0.0022087720781032603
],
"scorePercentiles" : {
"0.0" : 0.0022055509346252723,
"50.0" : 0.002206296392658466,
"90.0" : 0.002207112307694641,
"95.0" : 0.002207112307694641,
"99.0" : 0.002207112307694641,
"99.9" : 0.002207112307694641,
"99.99" : 0.002207112307694641,
"99.999" : 0.002207112307694641,
"99.9999" : 0.002207112307694641,
"100.0" : 0.002207112307694641
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
0.002207112307694641,
0.0022068020771229707,
0.002206296392658466,
0.0022055509346252723,
0.002205938627493984
]
]
},
"gc.alloc.rate.norm" : {
"score" : 0.6259847291145666,
"scoreError" : 0.007134722429282701,
"scoreConfidence" : [
0.6188500066852839,
0.6331194515438493
],
"scorePercentiles" : {
"0.0" : 0.6241236742764695,
"50.0" : 0.6257547084797693,
"90.0" : 0.6287576964867801,
"95.0" : 0.6287576964867801,
"99.0" : 0.6287576964867801,
"99.9" : 0.6287576964867801,
"99.99" : 0.6287576964867801,
"99.999" : 0.6287576964867801,
"99.9999" : 0.6287576964867801,
"100.0" : 0.6287576964867801
},
"scoreUnit" : "B/op",
"rawData" : [
[
0.6245727648857708,
0.6287576964867801,
0.6257547084797693,
0.6241236742764695,
0.6267148014440433
]
]
},
"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:+UseG1GC",
"-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.9434612632669808,
"scoreError" : 0.11827622949395342,
"scoreConfidence" : [
1.8251850337730273,
2.061737492760934
],
"scorePercentiles" : {
"0.0" : 1.9219030520864717,
"50.0" : 1.9308040986327506,
"90.0" : 1.9953678368260783,
"95.0" : 1.9953678368260783,
"99.0" : 1.9953678368260783,
"99.9" : 1.9953678368260783,
"99.99" : 1.9953678368260783,
"99.999" : 1.9953678368260783,
"99.9999" : 1.9953678368260783,
"100.0" : 1.9953678368260783
},
"scoreUnit" : "ns/op",
"rawData" : [
[
1.9468250703131478,
1.9219030520864717,
1.9308040986327506,
1.9953678368260783,
1.9224062584764554
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 0.002196183801562551,
"scoreError" : 1.5705082757774558E-6,
"scoreConfidence" : [
0.0021946132932867735,
0.0021977543098383287
],
"scorePercentiles" : {
"0.0" : 0.002195741560782661,
"50.0" : 0.002196356845749124,
"90.0" : 0.0021966278707082044,
"95.0" : 0.0021966278707082044,
"99.0" : 0.0021966278707082044,
"99.9" : 0.0021966278707082044,
"99.99" : 0.0021966278707082044,
"99.999" : 0.0021966278707082044,
"99.9999" : 0.0021966278707082044,
"100.0" : 0.0021966278707082044
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
0.002196433542759551,
0.002195741560782661,
0.002196356845749124,
0.0021957591878132145,
0.0021966278707082044
]
]
},
"gc.alloc.rate.norm" : {
"score" : 4.475987376364739E-6,
"scoreError" : 2.7065120031626184E-7,
"scoreConfidence" : [
4.2053361760484775E-6,
4.746638576681001E-6
],
"scorePercentiles" : {
"0.0" : 4.425406880148576E-6,
"50.0" : 4.447274632027257E-6,
"90.0" : 4.594551927228046E-6,
"95.0" : 4.594551927228046E-6,
"99.0" : 4.594551927228046E-6,
"99.9" : 4.594551927228046E-6,
"99.99" : 4.594551927228046E-6,
"99.999" : 4.594551927228046E-6,
"99.9999" : 4.594551927228046E-6,
"100.0" : 4.594551927228046E-6
},
"scoreUnit" : "B/op",
"rawData" : [
[
4.484187985363193E-6,
4.425406880148576E-6,
4.447274632027257E-6,
4.594551927228046E-6,
4.428515457056624E-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
]
]
}
}
},
{
"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:+UseG1GC",
"-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.7799682008606865,
"scoreError" : 0.3785990025307056,
"scoreConfidence" : [
3.4013691983299807,
4.158567203391392
],
"scorePercentiles" : {
"0.0" : 3.6851249277787326,
"50.0" : 3.7832652961287296,
"90.0" : 3.9240049037650047,
"95.0" : 3.9240049037650047,
"99.0" : 3.9240049037650047,
"99.9" : 3.9240049037650047,
"99.99" : 3.9240049037650047,
"99.999" : 3.9240049037650047,
"99.9999" : 3.9240049037650047,
"100.0" : 3.9240049037650047
},
"scoreUnit" : "ns/op",
"rawData" : [
[
3.6851249277787326,
3.9240049037650047,
3.7832652961287296,
3.8151140083871757,
3.692331868243792
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 0.002198773345689165,
"scoreError" : 1.667956778266745E-5,
"scoreConfidence" : [
0.0021820937779064974,
0.0022154529134718326
],
"scorePercentiles" : {
"0.0" : 0.0021967381881610225,
"50.0" : 0.002196896399945049,
"90.0" : 0.0022065209738235474,
"95.0" : 0.0022065209738235474,
"99.0" : 0.0022065209738235474,
"99.9" : 0.0022065209738235474,
"99.99" : 0.0022065209738235474,
"99.999" : 0.0022065209738235474,
"99.9999" : 0.0022065209738235474,
"100.0" : 0.0022065209738235474
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
0.0022065209738235474,
0.0021968010747993824,
0.0021967381881610225,
0.002196896399945049,
0.0021969100917168236
]
]
},
"gc.alloc.rate.norm" : {
"score" : 8.715646311107752E-6,
"scoreError" : 8.384288607855876E-7,
"scoreConfidence" : [
7.877217450322164E-6,
9.55407517189334E-6
],
"scorePercentiles" : {
"0.0" : 8.506621376488969E-6,
"50.0" : 8.715503254454911E-6,
"90.0" : 9.03968031233351E-6,
"95.0" : 9.03968031233351E-6,
"99.0" : 9.03968031233351E-6,
"99.9" : 9.03968031233351E-6,
"99.99" : 9.03968031233351E-6,
"99.999" : 9.03968031233351E-6,
"99.9999" : 9.03968031233351E-6,
"100.0" : 9.03968031233351E-6
},
"scoreUnit" : "B/op",
"rawData" : [
[
8.527156884377332E-6,
9.03968031233351E-6,
8.715503254454911E-6,
8.789269727884032E-6,
8.506621376488969E-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
]
]
}
}
},
{
"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:+UseG1GC",
"-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" : 4.934135242904984,
"scoreError" : 0.34704739229470716,
"scoreConfidence" : [
4.587087850610277,
5.2811826351996904
],
"scorePercentiles" : {
"0.0" : 4.8559045509230305,
"50.0" : 4.916361625019645,
"90.0" : 5.080199694616183,
"95.0" : 5.080199694616183,
"99.0" : 5.080199694616183,
"99.9" : 5.080199694616183,
"99.99" : 5.080199694616183,
"99.999" : 5.080199694616183,
"99.9999" : 5.080199694616183,
"100.0" : 5.080199694616183
},
"scoreUnit" : "ns/op",
"rawData" : [
[
4.8559045509230305,
5.080199694616183,
4.916361625019645,
4.867465016484686,
4.950745327481375
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 3092.8990797227843,
"scoreError" : 214.38728876844763,
"scoreConfidence" : [
2878.511790954337,
3307.2863684912318
],
"scorePercentiles" : {
"0.0" : 3003.3366292447813,
"50.0" : 3103.0594940519563,
"90.0" : 3141.9657335424126,
"95.0" : 3141.9657335424126,
"99.0" : 3141.9657335424126,
"99.9" : 3141.9657335424126,
"99.99" : 3141.9657335424126,
"99.999" : 3141.9657335424126,
"99.9999" : 3141.9657335424126,
"100.0" : 3141.9657335424126
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
3141.9657335424126,
3003.3366292447813,
3103.0594940519563,
3134.5885793001253,
3081.5449624746466
]
]
},
"gc.alloc.rate.norm" : {
"score" : 16.000011447700253,
"scoreError" : 8.5482347464224E-7,
"scoreConfidence" : [
16.000010592876777,
16.00001230252373
],
"scorePercentiles" : {
"0.0" : 16.000011224723114,
"50.0" : 16.00001141682472,
"90.0" : 16.00001179845149,
"95.0" : 16.00001179845149,
"99.0" : 16.00001179845149,
"99.9" : 16.00001179845149,
"99.99" : 16.00001179845149,
"99.999" : 16.00001179845149,
"99.9999" : 16.00001179845149,
"100.0" : 16.00001179845149
},
"scoreUnit" : "B/op",
"rawData" : [
[
16.000011224723114,
16.00001179845149,
16.00001141682472,
16.000011302468177,
16.000011496033764
]
]
},
"gc.count" : {
"score" : 38.0,
"scoreError" : "NaN",
"scoreConfidence" : [
38.0,
38.0
],
"scorePercentiles" : {
"0.0" : 7.0,
"50.0" : 8.0,
"90.0" : 8.0,
"95.0" : 8.0,
"99.0" : 8.0,
"99.9" : 8.0,
"99.99" : 8.0,
"99.999" : 8.0,
"99.9999" : 8.0,
"100.0" : 8.0
},
"scoreUnit" : "counts",
"rawData" : [
[
8.0,
7.0,
8.0,
8.0,
7.0
]
]
},
"gc.time" : {
"score" : 447.0,
"scoreError" : "NaN",
"scoreConfidence" : [
447.0,
447.0
],
"scorePercentiles" : {
"0.0" : 84.0,
"50.0" : 90.0,
"90.0" : 96.0,
"95.0" : 96.0,
"99.0" : 96.0,
"99.9" : 96.0,
"99.99" : 96.0,
"99.999" : 96.0,
"99.9999" : 96.0,
"100.0" : 96.0
},
"scoreUnit" : "ms",
"rawData" : [
[
90.0,
86.0,
91.0,
96.0,
84.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:+UseG1GC",
"-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" : 2.2018327420685595,
"scoreError" : 1.10500977891234,
"scoreConfidence" : [
1.0968229631562194,
3.3068425209809
],
"scorePercentiles" : {
"0.0" : 2.0191142520365477,
"50.0" : 2.093597163697863,
"90.0" : 2.7099197567822473,
"95.0" : 2.7099197567822473,
"99.0" : 2.7099197567822473,
"99.9" : 2.7099197567822473,
"99.99" : 2.7099197567822473,
"99.999" : 2.7099197567822473,
"99.9999" : 2.7099197567822473,
"100.0" : 2.7099197567822473
},
"scoreUnit" : "ns/op",
"rawData" : [
[
2.7099197567822473,
2.093597163697863,
2.057386647576988,
2.129145890249151,
2.0191142520365477
]
]
},
"secondaryMetrics" : {
"gc.alloc.rate" : {
"score" : 0.002198259395180415,
"scoreError" : 1.8837541279633866E-5,
"scoreConfidence" : [
0.002179421853900781,
0.002217096936460049
],
"scorePercentiles" : {
"0.0" : 0.0021956491880677446,
"50.0" : 0.002195996704904016,
"90.0" : 0.0022069663751961956,
"95.0" : 0.0022069663751961956,
"99.0" : 0.0022069663751961956,
"99.9" : 0.0022069663751961956,
"99.99" : 0.0022069663751961956,
"99.999" : 0.0022069663751961956,
"99.9999" : 0.0022069663751961956,
"100.0" : 0.0022069663751961956
},
"scoreUnit" : "MB/sec",
"rawData" : [
[
0.0022069663751961956,
0.0021957793019904827,
0.002195996704904016,
0.0021956491880677446,
0.002196905405743638
]
]
},
"gc.alloc.rate.norm" : {
"score" : 5.0770669655621076E-6,
"scoreError" : 2.5968062409634488E-6,
"scoreConfidence" : [
2.4802607245986588E-6,
7.673873206525556E-6
],
"scorePercentiles" : {
"0.0" : 4.651809282253354E-6,
"50.0" : 4.820784961663977E-6,
"90.0" : 6.271821064540395E-6,
"95.0" : 6.271821064540395E-6,
"99.0" : 6.271821064540395E-6,
"99.9" : 6.271821064540395E-6,
"99.99" : 6.271821064540395E-6,
"99.999" : 6.271821064540395E-6,
"99.9999" : 6.271821064540395E-6,
"100.0" : 6.271821064540395E-6
},
"scoreUnit" : "B/op",
"rawData" : [
[
6.271821064540395E-6,
4.820784961663977E-6,
4.738271880101847E-6,
4.902647639250964E-6,
4.651809282253354E-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
]
]
}
}
}
]