4

我知道这些技术都是相关的,但是有人可以解释一下每种技术的用途以及它们如何组合在一起吗?

4

1 回答 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 回答