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.

This pull request has now been integrated.

Changeset: ef1f7bd3
Author:    Eirik Bjorsnos <eir...@gmail.com>
Committer: Naoto Sato <na...@openjdk.org>
URL:       
https://git.openjdk.org/jdk/commit/ef1f7bd3b80f8777c15ab22b1dff7dfe4f084734
Stats:     166 lines in 5 files changed: 143 ins; 0 del; 23 mod

8302877: Speed up latin1 case conversions

Reviewed-by: naoto, redestad

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

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

Reply via email to