首页 > 解决方案 > 捆绑的 Graal VM 与其他 VM + Graal JIT 的区别

问题描述

IIUC,GraalVM 项目提供了新的 JIT 编译器,它应该适用于任何 JVM 发行版(OpenJDK、Oracle、Amazon Corretto),但是,GraalVM 网站还提供了基于 OpenJDK 的捆绑下载。那么,使用 Graal JIT 与其他发行版 VS 使用 Graal 自己的发行版有什么区别?Graal 是否在自己的发行版中进一步优化 JVM?

标签: graalvmgraalvm-native-image

解决方案


新的 JIT 编译器应该与任何实现 JEP243 Java-Level JVM Compiler Interface 的 JVM 一起工作,该接口目前仅由 HotSpot JVM 实现。GraalVM 团队将其向后移植到 open/oracle JDK8,并包含在 JDK9 及更高版本中。对于其他发行版(亚马逊等),这取决于它们所基于的 HotSpot 版本。

您可以使用以下选项运行与 JDK9+ 捆绑的 Graal 编译器(我认为它仅适用于 Linux):

-XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler

您将更轻松地使用 GraalVM,因为一切都已经设置好并且您获得了最新的 GraalVM 编译器。最重要的是,GraalVM 提供了其他功能,例如用于更快启动和低内存占用的 Java 程序的原生映像、JavaScript、Python、Ruby 和 R 等动态语言等。此外,还有一个企业版 GraalVM,其中包含进一步的优化。

参考:

https://www.graalvm.org/有关功能的更多详细信息

https://renaissance.dev用于社区版和企业版 GraalVM 的基准测试


推荐阅读