As this is the only use of FIELD_MAP then rewriting the lookup+if-else into a single switch inline could be an appropriate simplification.
/Claes > 28 sep. 2025 kl. 17:14 skrev Chen Liang <[email protected]>: > > Hi wenshao, I think this proposed minor cleanup is reasonable. > Looking at the overall context, I think that piece of code needs a more > general rewrite to ensure better performance. > > On Sat, Sep 27, 2025 at 7:24 PM wenshao <[email protected]> wrote: > 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: > after: > > In order to make it easier for reviewers to see my ideas, I submitted a draft > Pull Request ( https://github.com/openjdk/jdk/pull/26634 ). Please give me > feedback. >
