6 comments

[ 5.7 ms ] story [ 28.2 ms ] thread
I have looked at GraalVM in the past and could never quite tell where it fit into things. It seems very technically impressive.

Reading this, I'm still not entirely sure. I wouldn't mind being able to to AOT compilation on Python or JavaScript.

Two things I would rather not have to deal with is Oracle and Java, I think I'm still leaning towards GraalVM not being for me.

AOT compilation works out of the box already in GraalPython, but needs some hackery to work with GraalJs. I believe this feature has been requested for JS and may already be in the works
(comment deleted)
IIRC, GCC used to have an AOT compiler for Java but I've never heard of anyone using that. Is Graal like another attempt to native Java binaries?
GCJ died the day Sun started the open source project for Java, and most devs left the project around 2009.

The only major use case I am aware of was Red-Hat shipping Eclipse AOT compiled.

There have been several AOT compilers for Java since the 2000's, but they were mostly ignored by the community due to the high prices, or special use cases like embedded development. Of those commercial offerings, PTC and Aicas are the surviving ones.

GraalVM is the evolution of MaximeVM, a Sun Research Labs project of selfhosting the whole Java implementation, which Oracle despite all the usual criticism, decided to support and turn into a product.

The other free beer AOT compiler is OpenJ9, which was originally developed by IBM, also for embedded development originally.

Then there is ART, which isn't really a JVM proper, but also does AOT.

There's also the OpenJDK CraC project (coordinated checkpoint and restore) which isn't a native AOT compiler as such but which also delivers faster starting applications by starting a service and storing the entire JVM state including compiled code.