+38/050/370-3627
+38/093/220-0872
+38/044/257-2444
Новини

Oracle анонсувала перший реліз проекту GraalVM

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

GraalVM спочатку розвивалася як універсальна віртуальна машина, здатна забезпечити високопродуктивне виконання коду будь-якими мовами програмування та надає засоби для організації взаємодії між кодом різними мовами, що дає можливість створювати комбіновані додатки з компонентами різними мовами.

Замість перетворення структур даних у подібних програмах, GraalVM дозволяє безпосередньо звертатися до об'єктів та масивів з інших мов, прибираючи ізоляцію між мовами та дозволяючи використовувати загальний runtime. Наприклад, з коду JavaScript для Node.js можна звертатися до бібліотеки класів Java або з коду Java викликати функції обробки статистики мовою Python, або запускати код мовою R для створення складних SVG-графіків. Використовуючи GraalVM, програміст може поєднувати в одному проекті різні мови, вибираючи мову найбільш підходящу для кожного виду завдань.

GraalVM може застосовуватися як для створення відокремлених додатків, що виконуються, так і як частина платформ, подібних OpenJDK і Node.js, або навіть вбудовуючись як двигун обробки даних в СУБД, таких як MySQL і Oracle. Для запуску програм пропонується стандартизоване оточення для виконання на базі HotSpot JVM. GraalVM надає JIT-компілятор, який може на льоту виконувати в JVM код будь-яких скриптових мов, включаючи JavaScript, Ruby, Python і R, а також дає можливість запускати нативний код JVM, перетворений на біткод LLVM. Наданий інструментарій GraalVM включає незалежні від мов програмування відладчик, систему профілювання та аналізатор розподілу пам'яті.

Для мов на базі JVM є можливість створення скомпілованих нативних образів, які можна виконувати безпосередньо з мінімальним споживанням пам'яті. Для створення таких виконуваних образів застосовується попередній статичний аналіз виявлення всього коду, який охоплює виконання основного Java-метода, після чого до цього коду застосовується повноцінна попереджувальна компіляція (AOT, ahead-of-time). Функціональність управління пам'яттю і потоками реалізована через підключення спеціальної Substrate VM, яка може компілюватися в код, що виконується. В результаті формується виконуваний файл, що включає машинний код програми, готовий до негайного виконання без громіздких прошарків, таких як HotSpot VM.

 

Інші новини

Найкраща ціна