起動時間など3つのJavaの長期課題の解決を図る「Project Leyden」が始動

 Javaの起動時間などの長期的課題の解決を目指すプロジェクト「Project Leyden」が5月20日、始動を発表した。JDKとJapa Platformに静的なイメージを提供するとしている。

 Project LeydenはJavaの長期的な課題である起動時間、ピークパフォーマンスまでの時間、大規模なフットプリントの解決に向けた取り組みで、米Oracle所属でJava Platformのチーフアーキテクトを務めるMark Reinhold氏がOpenJDKプロジェクトとして2020年4月に提案したもの。Java PlatformとJDKに静的なランタイムイメージを提供することで、これらの問題解決を図ることを提案していた。

 静的なイメージはアプリケーションおよびJDKから派生スタンダロンのプログラムで、読み込みができるクラスを配慮した”クローズドワールド”としている。ランタイムでは外部のクラスを読み込むことも、動的にクラスを作成することもできない。このような特徴により、使用していないクラスを削除したり、クラスの初期化子を識別するなどのビルド時の解析が可能となり、イメージと起動時間の両方を削減できるとしている。また、ahead-of-timeコンパイルが可能となり、ピークパフォーマンスまでの時間も削減できるとみる。なお、Reinhold氏は全てのアプリケーションが向いているわけではないとも留意している。

 プロジェクトは、HotSpot JVM、C2コンパイラ、アプリケーションクラスデータ共有(CDS)、jlinkなどの既存のJDKコンポーネントを活用するという。長期的には完全なクローズドワールドの制約をサポートするとしている。

Project Leydon
https://openjdk.java.net/projects/leyden/