Написать пост

Oracle анонсировала универсальную виртуальную машину GraalVM

Аватар Наташа Маркова

Система может использоваться для запуска приложений, написанных на JavaScript (Node.js), Python, Ruby, R, на языках для JVM и на языках, для которых формируется биткод LLVM. Код проекта GraalVM распространяется под лицензией GPLv2.

Компания Oracle представила первый релиз GraalVM, проекта для увеличения производительности при работе с разными ЯП. Система может использоваться для запуска приложений, написанных на JavaScript (Node.js), Python, Ruby, R, на языках для JVM (Java, Scala, Clojure, Kotlin) и на языках, для которых формируется биткод LLVM (C, C++, Rust). Код проекта распространяется под лицензией GPLv2. Несмотря на анонс от Oracle, он пока имеет статус кандидата в релизы.

Возможности системы

GraalVM позволяет непосредственно обращаться к объектам и массивам из других языков и использовать общую среду выполнения. Например, из JavaScript-кода для Node.js допустимо обращаться к библиотеке классов Java.

Oracle анонсировала универсальную виртуальную машину GraalVM 1

GraalVM может применяться для создания обособленных исполняемых приложений в качестве части платформ, подобных OpenJDK и Node.js. Также есть возможность встраивать машину как движок обработки данных в СУБД.

Инструментарий GraalVM

Для запуска приложений используется стандартизированное окружение на базе HotSpot JVM. GraalVM предоставляет JIT-компилятор, который быстро выполняет в JVM код любых скриптовых языков, включая JavaScript, Ruby, Python и R. Также машина дает возможность запускать нативный код в JVM, преобразованный в биткод LLVM. Инструментарий системы включает в себя независимые от языков программирования отладчик, систему профилирования и анализатор распределения памяти.

Нативные образы

Для языков на базе JVM можно создавать скомпилированные нативные образы, которые выполняются напрямую с минимальным потреблением памяти. Сначала статический анализ выявляет весь код для выполнения основного Java-метода. Далее к нему применяется полноценная упреждающая компиляция (AOT).

Использование Substrate VM

Функциональность управления памятью и потоками происходит через подключение Substrate VM, которая компилируется в исполняемый код. Сформированный файл включает в себя машинный код приложения, готовый к быстрому выполнению.

Следите за новыми постами
Следите за новыми постами по любимым темам
6К открытий6К показов