RFR: 8309191: Reduce JDK dependencies of cgroup support
Severin Gehwolf
sgehwolf at openjdk.org
Wed May 31 22:02:31 UTC 2023
On Tue, 30 May 2023 13:03:27 GMT, Aleksandar Pejović <duke at openjdk.org> wrote:
> The current code for cgroup support in the JDK has large and expensive dependencies: it uses NIO, streams, and regular expressions. This leads to unnecessary class loading and slows down startup, especially when the code is executed early during an application startup. This is especially a problem for GraalVM, which executes this code during VM startup.
>
> This PR reduces the dependencies:
> - NIO is replaced with regular `java.io` for file access.
> - Streams are replaced with loops (a side effect of this is that files are read in full whereas previously they could be read up to a certain point, e.g., until a match is found).
> - Regular expressions are replaced with manual tokenization (and for usages of `String.split`, the "regex" is changed to single characters for which `String.split` has a fast-path implementation that avoids the regular expression engine).
@pejovica Please enable GHA testing on your fork. Once enabled, please merge latest master into your branch so as to trigger a GHA run. Thanks!
-------------
PR Comment: https://git.openjdk.org/jdk/pull/14216#issuecomment-1568469816
More information about the core-libs-dev
mailing list