RFR: 8358533: Improve performance of java.io.Reader.readAllLines
Brian Burkhalter
bpb at openjdk.org
Wed Jun 18 01:36:27 UTC 2025
On Wed, 18 Jun 2025 00:53:51 GMT, Roger Riggs <rriggs 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.
>
> src/java.base/share/classes/java/io/Reader.java line 469:
>
>> 467: if (c == '\r' || c == '\n')
>> 468: break;
>> 469: term++;
>
> It might be worth adding a test of unconventional sequences or \r and \n, including \r\r and \n\n, \r.
> The current ReadAll test cover the conventional sequences on Linux and Windows.
I agree. I was intending to follow up on @jaikiran's [comment](https://github.com/openjdk/jdk/pull/24728#discussion_r2112052404), probably in an update to this request.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/25863#discussion_r2153448060
More information about the core-libs-dev
mailing list