On Fri, 17 Feb 2023 17:31:09 GMT, Eirik Bjorsnos <d...@openjdk.org> wrote:

> This PR suggests we speed up Character.toUpperCase and Character.toLowerCase 
> for latin1 code points by applying the 'oldest ASCII trick in the book'.
> 
> This takes advantage of the fact that latin1 uppercase code points are always 
> 0x20 lower than their lowercase (with the exception of two code points which 
> uppercase out of latin1).
> 
> To verify the correctness of the new implementation, the test 
> `Latin1CaseConversion` is added with an exhaustive verification of 
> toUpperCase/toLowerCase for all latin1 code points.
> 
> The implementation needs to balance the performance of the various ranges in 
> latin1. An effort has been made to favour operations on ASCII code points, 
> without causing excessive regression for higher code points.
> 
> Performance is benchmarked for 7 chosen sample code points, each representing 
> a range or a special-case.  Results in the first comment.

Looks good to me. I'd rather not use "case folding", as to me it implies 
"normalizing" but this is simply lowercasing/uppercasing.

test/jdk/java/lang/Character/Latin1CaseFolding.java line 31:

> 29: /**
> 30:  * @test
> 31:  * @summary Provides exchaustive verification of Character.toUpperCase 
> and Character.toLowerCase

typo: "exhaustive"?

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

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

Reply via email to