On Fri, 31 Jan 2025 19:46:37 GMT, Justin Lu <j...@openjdk.org> wrote:

>> Please review this PR which improves the performance of cut-over date 
>> checking when the user supplies a properties override via the 
>> `java.util.currency.data` sys prop. Replacing the `SimpleDateFormat` with a 
>> _java.time_ alternative has better performance. It should be noted that this 
>> method is only entered when the string `s` is confirmed to adhere to the 
>> format: `yyyy-MM-ddTHH:mm:ss`.
>> 
>> An alternative is using `LocalDateTime.of(..)` and extracting the date/time 
>> values ourselves from `s` with the known positions which is considerably 
>> faster but not as concise.
>
> Justin Lu has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   generalize format comment

src/java.base/share/classes/java/util/Currency.java line 1182:

> 1180:         private static boolean isPastCutoverDate(String cutOver) {
> 1181:             return System.currentTimeMillis() >
> 1182:                     LocalDateTime.parse(cutOver.trim(), 
> DateTimeFormatter.ISO_LOCAL_DATE_TIME)

Btw, do we really need this `trim()` call?
It looks redundant. prop.date is result part of `m.group(4)` of this regexp:
https://github.com/openjdk/jdk/blob/3f1d9b573546685215af06031656efe6f1429caf/src/java.base/share/classes/java/util/Currency.java#L255-L257
`(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2})`

I don't see how it could contain whitespace characters on start or end.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/23374#discussion_r1939322191

Reply via email to