Разница между связанной Graal VM и другими виртуальными машинами + Graal JIT

IIUC, проект GraalVM предоставляет новый JIT-компилятор, который должен работать с любым дистрибутивом JVM (OpenJDK, Oracle, Amazon Corretto), однако веб-сайт GraalVM также предоставляет пакетные загрузки, основанные на OpenJDK. Итак, в чем разница между использованием Graal JIT с другими дистрибутивами VS и собственным дистрибутивом Graal? Graal дополнительно оптимизирует JVM в своем собственном дистрибутиве?

1 ответ

Новый JIT-компилятор должен работать с любой JVM, которая реализует интерфейс компилятора JVM уровня Java JEP243, который в настоящий момент реализован только в HotSpot JVM. Команда GraalVM предоставляет обратные порты для открытия /oracle JDK8, и оно включено в JDK9 и более поздние версии. Для других дистрибутивов (Amazon и т. Д.) Это зависит от того, на какой версии HotSpot они основаны.

Вы можете запустить Graal Compiler, который поставляется в комплекте с JDK9+, используя эти параметры (я думаю, что он работает только в Linux):

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

Вам будет легче использовать GraalVM, так как все уже настроено, и вы получите новейший компилятор GraalVM. Вдобавок к этому GraalVM предоставляет дополнительные функции, такие как native-image для более быстрого запуска и низкого объема памяти программ Java, динамические языки, такие как JavaScript, Python, Ruby и R, и многое другое. Кроме того, существует корпоративная версия GraalVM, которая, помимо прочего, содержит дальнейшие оптимизации.

Рекомендации:

https://www.graalvm.org/ для более подробной информации о функциях

https://renaissance.dev/ для тестов версий GraalVM для сообществ и предприятий.

Другие вопросы по тегам