> This PR optimizes the parsing performance of DateTimeFormatter by replacing > HashMap with EnumMap in scenarios where the keys are exclusively ChronoField > enum values. > > When parsing date/time strings, DateTimeFormatter creates HashMaps to store > intermediate parsed values. HashMap has more overhead for operations compared > to specialized map implementations. > > Since ChronoField is an enum and all keys in these maps are ChronoField > instances, we can use EnumMap instead, which provides better performance for > enum keys due to its optimized internal structure. > > Parsing scenarios show improvements from 12% to 95%
Shaojin Wen has updated the pull request incrementally with one additional commit since the last revision: copyright ------------- Changes: - all: https://git.openjdk.org/jdk/pull/28471/files - new: https://git.openjdk.org/jdk/pull/28471/files/5a050fe9..7137d9ec Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=28471&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=28471&range=00-01 Stats: 3 lines in 2 files changed: 1 ins; 0 del; 2 mod Patch: https://git.openjdk.org/jdk/pull/28471.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/28471/head:pull/28471 PR: https://git.openjdk.org/jdk/pull/28471
