RFR: 8354724: Methods in java.io.Reader to read all characters and all lines [v22]

Markus KARG duke at openjdk.org
Wed May 14 20:39:55 UTC 2025


On Wed, 14 May 2025 20:32:38 GMT, Markus KARG <duke at openjdk.org> wrote:

>> I have no idea whether `subSequence` is more performant than `getChars` but it seems cleaner. In any case, at this point we are concerned primarily with the APIs getting into JDK 25. We can improve performance after that.
>
> Actually I am working on exact these optimizations right now and do not like the idea that I have to file another JBS and PR just for a single code line. As `subSequence` typically *does* a copy (to not hold the original full text in-memory for the lifetime of a possibly single-character sub sequence), unless otherwise proven, `getChars` will always be faster. Having said that, I need to say, that I do not second what Chen said. In reality I have never seen "simple views", in particular not "frequently".

BTW, paraphrasing Stuart here: "We want to reduce self-calls". `subSequence` is a self-call, *as we do not know* how it behaves in the actual implementation. For `getChars` we can be sure that it has no overridable side effects.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24728#discussion_r2089706589


More information about the core-libs-dev mailing list