GraalVM是新一代的高性能跨语言虚拟机,用于运行JavaScript、Python3、Ruby、R、基于JVM的语言,如Java、Scala、Kotlin和基于LLVM的语言,如C和C++。
GraalVM消除了编程语言之间的隔离,并支持共享运行时的互操作性。它可以独立运行,也可以在OpenJDK、Node、Oracle或者MySQL上运行。
Graal是一个用Java编写的新的JVM即时编译器,集成到HotSpot虚拟机,侧重性能和语言互操作性。Graal为Java代码提供性能优势,这得益于方法内联、流转对象分配和推理执行等新技术,从而可以实现高性能的脚本语言引擎。
与传统的HotSpot编译器不同,脚本语言解释器可以使用Graal包含的TruffleAPI发出原生代码,这样无需提前编译,即可让编程语言获得Java的性能。
语言解释器可以使用HotSpot所用技术提高Java代码的速度—包括发出优化的原生代码(含去优化的条件)—该技术令即时编译的代码在性能方面优于提前编译的代码。
目前提供了一个技术预览版下载,Graal很快就可用作JDK9的附加组件。当前版本是一个独立的JDK,包含Graal。
语言支持
下载包括以下语言引擎:
JavaScript —Graal.js是一个JavaScript解释器/编译器,能够在JVM上运行Node.js应用
FastR —R语言解释器/编译器
RubyTruffle —支持Ruby且性能优于Ruby
SimpleLanguage —一个有关如何使用GraalAPI的示例
好处
性能 —Graal结合了我们对编译器技术的研究,在一些负载上提供比传统JVM更好的峰值性能
语言互操作性 —用Graal执行的语言可以互相调用,可以使用来自其他语言的库
用法
只需下载OTN预览版并将其用作JDK。它经过预先配置,使用Graal作为默认的Java编译器,包括命令行程序 node、jrb 和 R,可用于取代NodeJS、Ruby和R。
请点击下面的“软件下载”进行体验,下载后解压即可使用bin目录下的java和trufflejs命令分别来执行Java和JavaScript程序。
TruffleJS是Truffle多语言执行框架的一个JavaScript版本的实现,该版本基于GraalVM运行。
评论