On Fri, 27 Jun 2025 16:48:40 GMT, Shaojin Wen <s...@openjdk.org> wrote:

> BufferedWriter -> OutputStreamWriter -> StreamEncoder
> 
> In this call chain, BufferedWriter has a char[] buffer, and StreamEncoder has 
> a ByteBuffer. There are two layers of cache here, or the BufferedWriter layer 
> can be removed. And when charset is UTF8, if the content of write(String) is 
> LATIN1, a conversion from LATIN1 to UTF16 and then to LATIN1 will occur here.
> 
> LATIN1 -> UTF16 -> UTF8
> 
> We can improve BufferedWriter. When the parameter Writer instanceof 
> OutputStreamWriter is passed in, remove the cache and call it directly. In 
> addition, improve write(String) in StreamEncoder to avoid unnecessary 
> encoding conversion.

I've set the number of reviewers to 2. This change should not be rushed and 
will require a lot of review time and additional tests/benchmarks before doing 
anything.

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

PR Comment: https://git.openjdk.org/jdk/pull/26022#issuecomment-3017833283

Reply via email to