米Oracleは、高パフォーマンスのJDKによってJITコンパイラを使用することで、JavaおよびJVMベースのアプリケーションを高速化するGraalVMを更新し、JDK 17およびJDK 20での利用が可能になったことを発表した。なお、最新のGraalVMはGraalVM Free Terms and Conditions(GFTC)ライセンスに基づいてリリースされており、開発と本番環境の両方でGraalVMを無料で使えるようになっている。
最新のGraalVMでは、高いピークパフォーマンスを実現するプロファイルに基づく最適化、およびコンパイラのさらなる最適化が行われるとともに、大規模なヒープと最小限の一時停止時間でアプリケーションを実行できるようにするG1 GCの導入、オブジェクトヘッダとポインタの圧縮によるメモリ使用量のさらなる削減、機械学習によるプロファイリング情報の自動推論、SBOMのサポートによるセキュリティ機能の追加が行われた。
具体的なパフォーマンス向上の度合いとしては、GraalVMネイティブイメージは、GraalVM CEネイティブイメージと比較して起動を46.42%高速化するとともに、C2 JITを使用したGraalVM CEと比較して32倍高速な起動を実現している。さらに、GraalVM CEネイティブイメージから25%のメモリ削減、C2 JITを使用したGraalVM CEよりも2.52倍少ないメモリ使用量、GraalVM CEネイティブイメージやC2 JITと比較して2倍となる、14780リクエスト/GB/秒と、大幅にパフォーマンスを向上した。
ほかにも、ネイティブイメージバンドルの導入によって、アプリケーションのJARファイルと引数、環境変数、システムプロパティ設定、クラスパス、モジュールパスオプションに関する情報を含む、ビルドバンドルの作成に対応するとともに、実行可能ファイルの内容をより深く理解するのに役立つビルドレポートを作成できるようになっている。さらに、ネイティブイメージでのAWTサポートが改善され、WindowsだけでなくLinuxでも動作するようになったほか、開発者によるネイティブイメージのよりスムーズかつ合理的な利用を可能にするためのアップデートや、ネイティブイメージへの新たなモニタリング機能の追加、GraalVM JITにおけるZGCのサポートやIdeal Graph Visualizer(IGV)のオープンソース化など、数多くの機能追加・改善が行われた。
- 関連リンク
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です