Может кто-нибудь объяснить, пожалуйста, различия между Graal, GraalVM, Truffle & SubstrateVM? - PullRequest
0 голосов
/ 30 декабря 2018

Я знаю, что все эти технологии связаны между собой, но не мог бы кто-нибудь объяснить, для чего каждая из них используется и как они сочетаются друг с другом?

1 Ответ

0 голосов
/ 31 декабря 2018

Упрощение: Graal - компилятор байт-кода Java.Может использоваться как раз вовремя (как часть JVM) или раньше времени.SubstrateVM - другие вещи (среда выполнения), необходимые для фактического запуска заранее скомпилированного байт-кода Java без JVM.Это приводит в действие команду GraalVM "native-image".Truffle - платформа для реализации языков в качестве интерпретаторов AST, которые могут быть скомпилированы точно в срок с использованием graal.Некоторые известные реализованные языки - это битовый код JavaScript, Ruby, R и LLVM.GraalVM - большинство этих технологий упакованы вместе для поддержки различных вариантов использования, например: запуск программ JVM (то есть всего, что компилируется в байт-код Java) с использованием Graal в качестве JIT-компилятора для лучшей пиковой производительности, заблаговременная компиляция программ JVMдля быстрого запуска и небольшого объема памяти, запуска быстрых динамических языков (JS, R, Ruby), которые могут взаимодействовать без издержек и т. д.

...