あるふぁべっとがおおすぎる

ITネタとか勉強会とか色々

OCHaCafe2 #2 一体何モノなの?GraalVM入門編 行ってきた | Advent Calendar 2019

IT系の勉強会行ってきた Advent Calendar 2019 - Adventar の18日目

個人的には使いどころがどこなのかわかってないGraalVMの話。

 

一体何モノなの?GraalVM入門編

  • 言語のランタイムのひとつ、Oracleラボで開発されたものがOSSが公開
  • Graal(JITコンパイラ), Truffleを持つ多言語に対応したJVM
  • 単一ランタイムで複数のプログラミング言語を動かせる
  • サイズの小さいJVMコンテナを作れる
  • エディションが2つ
    CommunityEditionと機能拡張されたEnterpriseEdition
    OracleCloudではGraalVM EEが無償利用可能

内部で使われてる名称

NativeImageについて

  • JITインタプリタ型、AOTなので事前コンパイラ
  • JITは動き方に合わせた最適化が実行される
  • AOTは起動後初期のパフォーマンスに強み
  • JSの関数実行結果をJavaの変数に入れるとかが可能になる
  • デモ:jarとネイティブの違い 0.3msと0.003msくらい違う

 

SQLからJavaScript実行したり多言語間での呼び出しが可能なのはすごいが、
実運用で保守や改修するときに地獄を見そうでちょっと怖かった。

用途としてはコマンドラインツール作るときか、マイクロサービス用のフレームワークで実行が早いjarを作る必要がある場面くらいなんだろうか。