java-benchmarks

Java 25 vs 24 performance

Generated on 2025-09-21 from zulu-24.json (A) and zulu-25.json (B).

Overall: Java 25 is faster overall (geomean B/A = 0.996, across 47 benchmarks; 17 A faster, 30 B faster).

Benchmark-by-benchmark

For each benchmark below, lower is better (AverageTime). Values show B vs A with percentage difference.

All benchmarks (including single-sided)

Benchmark A (zulu-24.json) B (zulu-25.json) Unit
BitArrayBenchmark.ByteCtor 156.604 147.154 ns/op
BitArrayBenchmark.HammingDistanceManual 1792.881 1954.061 ns/op
BitArrayBenchmark.HammingDistanceTensorPrimitives 25.762 26.257 ns/op
CollectionsBenchmark.InsertRange 162437.852 143967.064 ns/op
CryptoBenchmark.Hash 718.500 713.975 ns/op
DiagnosticsBenchmark.AssemblyQualifiedName 0.622 0.623 ns/op
DiagnosticsBenchmark.Interpolate 2.890 2.893 ns/op
DiagnosticsBenchmark.Oops 62.202 61.194 ns/op
DiagnosticsBenchmark.WithGetTimestamp 58.436 57.806 ns/op
DiagnosticsBenchmark.WithStartNew 58.460 57.787 ns/op
IOBenchmark.FSW 3931216.808 4316704.912 ns/op
IOBenchmark.MMF 367392.122 365274.030 ns/op
IOBenchmark.WriteByte 25709603.918 25741960.032 ns/op
JsonBenchmark.Serialize 16387.437 16608.097 ns/op
JsonBenchmark.WithDeserialize 29231.681 30043.162 ns/op
NetworkingBenchmark.Add 473.021 438.092 ns/op
NetworkingBenchmark.Ctor 364.450 368.581 ns/op
NetworkingBenchmark.CtorHost 459.834 441.620 ns/op
NetworkingBenchmark.GetValues 499.404 463.348 ns/op
NetworkingBenchmark.HttpGetSmall 41947167.540 76090263.548 ns/op
NetworkingBenchmark.ResponseContentRead_ReadAsByteArrayAsync 18822094.770 68110418.073 ns/op
NetworkingBenchmark.ResponseHeadersRead_ReadAsStringAsync 74291314.032 42312184.639 ns/op
NumericsBenchmark.DecrementManual 47.548 41.639 ns/op
NumericsBenchmark.DecrementTP 47.495 41.614 ns/op
NumericsBenchmark.Divide 20.667 20.048 ns/op
NumericsBenchmark.GetFutureTime 38.954 38.867 ns/op
NumericsBenchmark.GuidParse 10.383 10.085 ns/op
NumericsBenchmark.ParseInt32Min 65.088 64.652 ns/op
NumericsBenchmark.TranscodeParse 31.651 30.451 ns/op
NumericsBenchmark.TranscodeParse_Version 569.006 565.286 ns/op
NumericsBenchmark.TryWriteBytes 66.185 72.494 ns/op
NumericsBenchmark.Utf8ParserParse 30.417 31.228 ns/op
NumericsBenchmark.VersionParse 545.736 545.888 ns/op
OtherCollectionsBenchmark.Get 29185.142 29540.404 ns/op
PeanutButterBenchmark.FromHexStringUtf8 89.840 89.720 ns/op
PeanutButterBenchmark.New 281.843 270.587 ns/op
PeanutButterBenchmark.Old 3.854 3.843 ns/op
PeanutButterBenchmark.ToHexStringLowerUtf8 65.201 64.923 ns/op
ReflectionBenchmark.ParseAndGetName 13.099 13.730 ns/op
RegexAndStringBenchmark.Count 39490.259 15784.392 ns/op
SearchValuesBenchmark.ContainsAny 2.849 2.829 ns/op
SearchValuesBenchmark.IndexOfAny 3.457 3.430 ns/op
StreamsBenchmark.LeftJoin_Linq 109797.807 110784.341 ns/op
StreamsBenchmark.ShuffleTakeContainsLinq 75009.220 72803.406 ns/op
StreamsBenchmark.ShuffleTakeLinq 77115.843 73583.139 ns/op
ThreadingBenchmark.WhenAllAlloc_One 28.668 27.975 ns/op
ThreadingBenchmark.WhenAllAlloc_Two 31.599 30.476 ns/op

_Legend: A = zulu-24.json (Java 24), B = zulu-25.json (Java 25). _