我知道这些技术都是相关的,但是有人可以解释一下每种技术的用途以及它们如何组合在一起吗?
问问题
1254 次
1 回答
3
简单化:
Graal - Java 字节码编译器。可以及时使用(作为 JVM 的一部分)或提前使用。
SubstrateVM - 在没有 JVM 的情况下实际运行提前编译的 Java 字节码所需的其他东西(运行时)。这为 GraalVM 的“native-image”命令提供了动力。
Truffle - 将语言实现为 AST 解释器的框架,可以使用 graal 即时编译。一些值得注意的语言是 JavaScript、Ruby、R 和 LLVM 位码。
GraalVM - 将这些技术中的大多数打包在一起以支持不同的用例,例如:使用 Graal 作为 JIT 编译器运行 JVM 程序(即任何编译为 Java 字节码的程序)以获得更好的峰值性能,提前编译 JVM 程序为了快速启动和低内存占用,运行快速动态语言(JS、R、Ruby),无需开销即可互操作,等等。
于 2018-12-30T21:40:31.413 回答