<i18n dev> RFR: 8349189: Speed up DateTime parse & format via Class File API [v9]

Shaojin Wen swen at openjdk.org
Tue Feb 4 08:45:15 UTC 2025


> By using the Class File API to dynamically generate a CompositePrinterParser, and defining DateTimePrinterParser[] printerParsers as a specific field, C2 can do TypeProfile optimization.
> 
> Since the CompositePrinterParser is generated based on the pattern, we can make the following optimizations:
> 
> 1. For example, for the parse and print of Month/DayOfMonth/Hour/Minute/Second with a fixed length of 2, do targeted parse and print optimization.
> 
> 2. Parse uses LocalDate/LocalTime/LocalDateTime/OffsetDateTime for TemporalQuery to avoid the overhead of constructing DateTimeParseContext.
> 
> These optimizations can significantly improve performance, with more than 100% performance improvement in many scenarios.

Shaojin Wen has updated the pull request incrementally with one additional commit since the last revision:

  more test

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/23384/files
  - new: https://git.openjdk.org/jdk/pull/23384/files/c5f35999..101a2abc

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=23384&range=08
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=23384&range=07-08

  Stats: 172 lines in 1 file changed: 107 ins; 42 del; 23 mod
  Patch: https://git.openjdk.org/jdk/pull/23384.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/23384/head:pull/23384

PR: https://git.openjdk.org/jdk/pull/23384


More information about the i18n-dev mailing list