> 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: bug fix ------------- Changes: - all: https://git.openjdk.org/jdk/pull/28471/files - new: https://git.openjdk.org/jdk/pull/28471/files/9a0ad61a..073e2b8d Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=28471&range=03 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=28471&range=02-03 Stats: 20 lines in 1 file changed: 15 ins; 3 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
