3 ms·
I wonder: Would the JDK17 GraalVM offer additional benefits?
by jaytaylor 5y ago
I wonder: Would the JDK17 GraalVM offer additional benefits?
- kaba0 5y agoDo you mean the Graal JIT compiler or AOT compiling? The former may at times be better at escape analysis, but I don’t think there would be a significant difference. Using an up-to-date GC implementation is already night-and-day (I use G1GC with slightly decreased target pause time and larger heap size. But ZGC would be probably the best for this use case) I’m not sure whether Intellij could be AOT compiled, would be interesting due to faster startup time but AOT compiled binaries can be somewhat slower than what the JIT compiler is capable of.
- AnthonBerg 5y agoZGC is very good for IntelliJ. It’s fast. ZGC can be enabled on all platforms as of Java 17 and maybe even earlier. I won’t use any other Java GC for any reason I can think of.
- gjvc 5y agoZGC is available from JDK16, but is not compatible with AOTC, annoyingly, and the latter has been removed from JDK17. I have found that using AOTC for the java.base module makes IDE startup much smoother.
- AnthonBerg 5y agoAh, interesting. Thanks. If useful: ZGC has actually been available on different platforms in earlier Java releases. Linux, Windows, and macOS didn’t all get ZGC at the same time.
- vips7L 5y agoUnless they would use Graal Enterprise I doubt AOT would perform better anyway. Graal Community uses the Serial GC for native image. Enterprise uses G1
- rockwotj 5y agoI'm pretty sure AOT on Graal doesn't support swing anyways
- AtlasBarfed 5y agoThere's no way jetbtains isn't doing a ton of dynamic class loading
- rockwotj 5y agoI'm assuming that's how all the plugins work?
- AtlasBarfed 5y agoAnd all the java classes for debugging, profiling, breakpoints, watch vars, etc.
- jillesvangurp 5y agoIt would probably make things slower. You trade faster startup for less runtime optimization.