Игра Яндекс Практикума
Игра Яндекс Практикума
Игра Яндекс Практикума

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

Новости Отредактировано

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

6К открытий6К показов

Компания 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К показов