RFR: 8196331: Optimize Character.digit for latin1 input

Martin Buchholz martinrb at google.com
Mon Jan 29 17:44:06 UTC 2018


Thanks.  I might try to shrink the size of the static array, by only
storing values between '0' and 'z', at the cost of slightly greater lookup
costs for each char.

On Mon, Jan 29, 2018 at 3:15 AM, Claes Redestad <claes.redestad at oracle.com>
wrote:

> Hi,
>
> for the latin1 block of CharacterData we can improve the
> digit(int, int) implementation by providing an optimized lookup
> table. This improves microbenchmarks exercising Integer.parseInt,
> Long.parseLong and UUID.fromString etc by around 50%for typical
> inputs.
>
> Webrev: http://cr.openjdk.java.net/~redestad/8196331/open.00/
> Bug: https://bugs.openjdk.java.net/browse/JDK-8196331
>
> The lookup array is pre-calculated to minimize startup impact
> (adds 1,027 bytecodes executed during initialization)
>
> /Claes
>


More information about the core-libs-dev mailing list