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

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


person Sagar    schedule 08.08.2019    source источник


Ответы (1)


Новый JIT-компилятор должен работать с любой JVM, которая реализует JEP243 Java-Level JVM Compiler Interface, который в настоящее время реализуется только 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.

person Steves    schedule 09.08.2019