Production ready? Graal essential for JITing?
christian.humer at gmail.com
Fri Jun 24 15:06:59 UTC 2016
Thanks for your interest.
I cannot answer a "safe for production" question, as Truffle is still a
We tag our Truffle Github repository with releases of the API. The
latest Truffle release tag is truffle-0.14.
We do guarantee compatibility between two adjacent versions, however we
may mark API as deprecated in one release and remove them in a later one
at the moment.
So for upgrading you can go to the next Truffle version, fix all
deprecated warnings and repeat with the next version until you reach the
Every Truffle release should run with a standard JVM >= 1.7 out of the
However you won't get the benefit of Graal optimizing the ASTs using
dynamic compilation in such a scenario.
We are currently integrating our VM facing APIs called JVMCI into
So with a stock JDK9 you are going to be able run Truffle together with
Graal as a JIT.
In the meantime, you can already use a modified JDK8 version called
GraalVM for development.
This version of the JDK includes JVMCI, Graal, Truffle and also ships
To get started with Truffle language development I recommend to have a
look at SimpleLanguage and a recently published Truffle video
tutorial by Christian Wimmer.
Hope this helps.
On 24.06.2016 16:11:42, "john bergin" <john.bergin at gmail.com> wrote:
>I understand that Truffle and Graal are research projects and that
>currently no set date for a release. But I'm wondering if there is a
>Truffle commit that is considered safe for production on a standard
>I'm also wondering if Graal is needed to allow a Truffle AST to be
>optimized for a specific run-time context? My understand is Truffle is
>AST framework and Graal is the JIT and Graal feeds optimizations back
>the Truffle AST to suggest specific optimizations? Or maybe Truffle on
>own running on a stock JVM can allow for JITing of the Truffle AST.
>Appreciate any feedback on either question.
More information about the graal-dev