On Tue, 9 Feb 2021 12:54:12 GMT, Claes Redestad <redes...@openjdk.org> wrote:

> This refactor some `sun.nio.cs.ext` charsets, such as ISO-2022-CN-GB, 
> ISO-2022-CN-CNS, ISO-2022-KR and a few others to use static rather than 
> per-instance auxiliary decoders. Doing so reduce overheads of calling 
> `charset.newDecoder()`. This reduce or eliminate regressions on `new 
> String(byte[], String)` operations due the removal of thread-local decoder 
> caching in [JDK-8259842](https://bugs.openjdk.java.net/browse/JDK-8259842)
> 
> Most ISO-2022 Charsets define a specialized decoder already. The 
> `ISO2022.Decoder` class was only used by `ISO2022_KR`, so folding it into 
> that implementation and simplifying the code brings a rather significant 
> speed-up, both to decoder creation and on actual decoding.
> 
> Testing: tier1-3, manual runs of sun.nio.cs tests

This pull request has now been integrated.

Changeset: 8b6ab31d
Author:    Claes Redestad <redes...@openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/8b6ab31d
Stats:     761 lines in 15 files changed: 257 ins; 404 del; 100 mod

8261418: Reduce decoder creation overheads for sun.nio.cs.ext Charsets

Reviewed-by: naoto

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

PR: https://git.openjdk.java.net/jdk/pull/2480

Reply via email to