On Tue, 29 Sep 2026 22:50:26 GMT, Naoto Sato <[email protected]> wrote:
> Fixing performance regression caused by > [JDK-8381379](https://bugs.openjdk.org/browse/JDK-8381379). Instead of having > each explicit time zone as an entry in the resource bundle, the explicit DST > offsets are encoded in one entry. This avoids repeated lookups for missing > offsets and eliminates the need for a separate cache. Also `SimpleDateFormat` > now issues a new internal `ZoneInfo` method that won't clone instances on > each format call. Here is the benchmark result for the test case in the JBS > entry (on my mac): > > Before: > > New York: 303.9 B/op, 191.7 ns/op > Vancouver: 240.0 B/op, 216.8 ns/op > > After: > > New York: 32.0 B/op, 79.5 ns/op > Vancouver: 32.0 B/op, 97.5 ns/op > > These results suggest that the performance has returned to approximately its > pre-JDK- 8381379 level. > > --------- > - [x] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai). src/java.base/share/classes/sun/util/locale/provider/TimeZoneNameUtility.java line 189: > 187: return > explicitDstOffsets.get().get(canonicalTZID(tzid).orElse(tzid)); > 188: } > 189: private static Map<String, String> initExplictDstOffsets() { very small nit: typo? `initExplicitDstOffsets` ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/33133#discussion_r4159708096
