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

Reply via email to