This PR changes to use EnumMap
for DateFormatter.ISO_PATTERNS
again by partially reverting ba136dcf40123445aa959786cdc006112d35774a as it seems to give better numbers as follows:
Benchmark (iso) Mode Cnt Score Error Units
EnumMapOfBenchmark.getNew DATE avgt 2.643 ns/op
EnumMapOfBenchmark.getNew:·gc.alloc.rate DATE avgt ≈ 10⁻⁴ MB/sec
EnumMapOfBenchmark.getNew:·gc.alloc.rate.norm DATE avgt ≈ 10⁻⁷ B/op
EnumMapOfBenchmark.getNew:·gc.count DATE avgt ≈ 0 counts
EnumMapOfBenchmark.getNew TIME avgt 2.656 ns/op
EnumMapOfBenchmark.getNew:·gc.alloc.rate TIME avgt ≈ 10⁻⁴ MB/sec
EnumMapOfBenchmark.getNew:·gc.alloc.rate.norm TIME avgt ≈ 10⁻⁷ B/op
EnumMapOfBenchmark.getNew:·gc.count TIME avgt ≈ 0 counts
EnumMapOfBenchmark.getNew DATE_TIME avgt 4.507 ns/op
EnumMapOfBenchmark.getNew:·gc.alloc.rate DATE_TIME avgt ≈ 10⁻⁴ MB/sec
EnumMapOfBenchmark.getNew:·gc.alloc.rate.norm DATE_TIME avgt ≈ 10⁻⁷ B/op
EnumMapOfBenchmark.getNew:·gc.count DATE_TIME avgt ≈ 0 counts
EnumMapOfBenchmark.getOld DATE avgt 1.320 ns/op
EnumMapOfBenchmark.getOld:·gc.alloc.rate DATE avgt ≈ 10⁻⁴ MB/sec
EnumMapOfBenchmark.getOld:·gc.alloc.rate.norm DATE avgt ≈ 10⁻⁷ B/op
EnumMapOfBenchmark.getOld:·gc.count DATE avgt ≈ 0 counts
EnumMapOfBenchmark.getOld TIME avgt 1.530 ns/op
EnumMapOfBenchmark.getOld:·gc.alloc.rate TIME avgt ≈ 10⁻⁴ MB/sec
EnumMapOfBenchmark.getOld:·gc.alloc.rate.norm TIME avgt ≈ 10⁻⁷ B/op
EnumMapOfBenchmark.getOld:·gc.count TIME avgt ≈ 0 counts
EnumMapOfBenchmark.getOld DATE_TIME avgt 1.527 ns/op
EnumMapOfBenchmark.getOld:·gc.alloc.rate DATE_TIME avgt ≈ 10⁻⁴ MB/sec
EnumMapOfBenchmark.getOld:·gc.alloc.rate.norm DATE_TIME avgt ≈ 10⁻⁷ B/op
EnumMapOfBenchmark.getOld:·gc.count DATE_TIME avgt ≈ 0 counts
See gh-29321 See also https://github.com/izeye/samples-jmh-gradle/blob/master/src/jmh/java/com/izeye/samples/jmh/EnumMapOfBenchmark.java
Comment From: sbrannen
This has been merged into main
.
Thanks