> The DateTimeFormatterBuilder::FIELD_MAP is of type Map<Character, > TemporalField>, with key values in the range 'A-Z' and 'a-z'. > > We can change the type of FIELD_MAP to an array of length 128 and then use > char as an index to access the array. > > This will reduce the memory usage of DateTimeFormatterBuilder::FIELD_MAP and > improve performance slightly. > > By analyzing the jmap dump memory, we can see that the memory size used by > DateTimeFormatterBuilder::FIELD_MAP has dropped from 1.12kb to 528b, the > number of objects has decreased and the memory has become more flat. as shown > below: > * before > <img width="2018" height="1016" alt="image" > src="https://github.com/user-attachments/assets/57d4c513-55c7-472e-95a8-9f7a4b47662d" > /> > > * after > <img width="1894" height="352" alt="image" > src="https://github.com/user-attachments/assets/89cbfb6c-360a-475f-85ea-4365d3b66871" > />
Shaojin Wen has updated the pull request incrementally with one additional commit since the last revision: revert comment @liach ------------- Changes: - all: https://git.openjdk.org/jdk/pull/26634/files - new: https://git.openjdk.org/jdk/pull/26634/files/c6ce33c5..d3aa1333 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=26634&range=03 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=26634&range=02-03 Stats: 1 line in 1 file changed: 1 ins; 0 del; 0 mod Patch: https://git.openjdk.org/jdk/pull/26634.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/26634/head:pull/26634 PR: https://git.openjdk.org/jdk/pull/26634
