On Mon, 8 Feb 2021 11:42:23 GMT, Сергей Цыпанов
<[email protected]> wrote:
>> This patch refactor JDK internal charsets to initialize charset mapping data
>> lazily when needed via holder classes. This means both a startup improvement
>> in some cases, and possible throughput improvements for all DoubleByte-based
>> Charsets.
>>
>> Testing: tier1-3
>
> src/jdk.charsets/share/classes/sun/nio/cs/ext/AbstractCharsetProvider.java
> line 75:
>
>> 73:
>> 74: protected AbstractCharsetProvider(String pkgPrefixName) {
>> 75: packagePrefix = pkgPrefixName.concat(".");
>
> Hm, I wonder why not just `pkgPrefixName + '.'` here and below? Is it
> something about early init of `StringConcatFactory`?
Yes, I wanted to measure the overhead of `Charset` class initialization done by
`Charset.availableCharsets()` and the `StringConcatFactory` bootstraps was a
reasonable chunk of the cost so I moved them out of the picture. I didn't mind
what I ended up with, but if you prefer I can move back to `pkgPrefixName +
'.'` here.
-------------
PR: https://git.openjdk.java.net/jdk/pull/2449