RFR: 8358533: Improve performance of java.io.Reader.readAllLines [v7]

Roger Riggs rriggs at openjdk.org
Fri Jun 27 18:47:39 UTC 2025


On Fri, 27 Jun 2025 17:32:25 GMT, Brian Burkhalter <bpb at openjdk.org> wrote:

>> Replaces the implementation `readAllCharsAsString().lines().toList()` with reading into a temporary `char` array which is then processed to detect line terminators and copy non-terminating characters into strings which are added to the list.
>
> Brian Burkhalter has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - 8358533: Use a boolean instead of fragPos != -1
>  - 8358533: Immediately skip LF right after CR

src/java.base/share/classes/java/io/Reader.java line 494:

> 492:                     skipLF = isCR;
> 493:                 } else { // no line terminator
> 494:                     int len = term - pos;

I think term == limit here and it seems a bit of a mismatch when the comment says there is no terminator.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/25863#discussion_r2172667362


More information about the core-libs-dev mailing list