RFR: 8289908: Skip bounds check for cases when String is constructed from entirely used byte[] [v5]

Andrey Turbanov aturbanov at openjdk.org
Thu Jul 14 11:51:15 UTC 2022


On Wed, 13 Jul 2022 17:42:18 GMT, Сергей Цыпанов <duke at openjdk.org> wrote:

>> We can skip bounds check and null check for Charset in case we use the array entirely and the Charset is either default one or proven to be non-null.
>> 
>> Benchmark results:
>> 
>> before
>> 
>> Benchmark                                                  Mode  Cnt  Score   Error  Units
>> StringConstructor.newStringFromArray                       avgt   50  4,815 ± 0,154  ns/op
>> StringConstructor.newStringFromArrayWithCharset            avgt   50  4,462 ± 0,068  ns/op
>> StringConstructor.newStringFromArrayWithCharsetName        avgt   50  8,653 ± 0,040  ns/op
>> StringConstructor.newStringFromRangedArray                 avgt   50  5,090 ± 0,066  ns/op
>> StringConstructor.newStringFromRangedArrayWithCharset      avgt   50  4,550 ± 0,041  ns/op
>> StringConstructor.newStringFromRangedArrayWithCharsetName  avgt   50  8,080 ± 0,055  ns/op
>> 
>> after
>> 
>> Benchmark                                                  Mode  Cnt  Score   Error  Units
>> StringConstructor.newStringFromArray                       avgt   50  4,595 ± 0,053  ns/op
>> StringConstructor.newStringFromArrayWithCharset            avgt   50  4,038 ± 0,062  ns/op
>> StringConstructor.newStringFromArrayWithCharsetName        avgt   50  8,035 ± 0,031  ns/op
>> StringConstructor.newStringFromRangedArray                 avgt   50  4,084 ± 0,007  ns/op
>> StringConstructor.newStringFromRangedArrayWithCharset      avgt   50  4,014 ± 0,008  ns/op
>> StringConstructor.newStringFromRangedArrayWithCharsetName  avgt   50  7,466 ± 0,071  ns/op
>
> Сергей Цыпанов has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - 8289908: Fix typo
>  - 8289908: Fix typo

Marked as reviewed by aturbanov (Committer).

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

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



More information about the client-libs-dev mailing list