> 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:

  use switch, from @RogerRiggs & @cl4es

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/26634/files
  - new: https://git.openjdk.org/jdk/pull/26634/files/aeab63da..abb2123e

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=26634&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=26634&range=00-01

  Stats: 44 lines in 1 file changed: 0 ins; 8 del; 36 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

Reply via email to