GraalVMこのエントリは以下のエントリをベースにしています。Labsが開発した高性能なオープンソースのPolyglot仮想マシンです。Timeコンパイルしてネイティブ実行バイナリにする機能があります。バイナリはJavaランタイムを必要とせず、OS上でネイティブに動作します。GraalVMhttps://www.graalvm.org/ネイティブ実行機能により、重要な便益がもたらされます。コンテナイメージのサイズが小さくなります。最適化されたコンテナのサイズはクラウドにアプリケーションを展開する上で重要です。1.0.3からGraalVMのネイティブイメージ機能をサポートするようになりました。これでHelidonアプリケーションをネイティブ実行イメージとしてコンパイルし、前述のメリットを享受できるようになりました。このエントリで紹介するサンプルアプリケーションの起動時間は0.1msec、macOS上での実行ファイルのサイズは21MBでした。これらの数値はこれまでのJVMを使っている場合よりもよい結果です。対して、すべてのものごとにはトレードオフがあります。JVM上で長時間実行するアプリケーションはランタイム最適化のおかげでGraalVMのネイティブ実行イメージより高パフォーマンスです。functionのようなものはネイティブ実行によって性能面でのメリットを享受できます。それゆえ、高速な起動時間と小さなイメージサイズ(そしてネイティブ実行イメージ作成に必要な追加のステップ)を求めるのか、それとも長時間実行するアプリケーションでの性能を求めるのか、自問自答し結論を出す必要があります。ネイティブバイナリへのコンパイルにあたり、アプリケーションに一定の制約が加わります。ネイティブコンパイルのため、リフレクションを使っているコード内のすべてのポイントを識別する必要があり、CDIランタイムインジェクションを使っているコードでは利用できません。ExtensionsはCDIプラグインとして実行されています。SEでのみGraalVMをサポートします。SEは小さな、リアクティブマイクロサービスを構築するために設計されているため、ちょうどよいのです。依存性の注入や注釈、その他そういった魔法は使いません。Checks)はGraalVMネイティブイメージと互換性があります。Helidonは2個の便利なGraalVMプロファイルをサポートします。profile:GraalVMをローカル環境にインストールしていない人、もしくはローカルではmacOSを使っているものの、Linux用のネイティブ実行イメージをビルドしたい人向け最終リリースまでにGraalVMに後方互換性のない変更が行われる可能性があるため、HelidonでのGraalVMのサポートは実験的なものです。GraalVMバージョンRC13でテスト済みです。他のGraalVMバージョンで動作することは保証されていません。RC13https://github.com/oracle/graal/releases/tag/vm-1.0.0-rc13HelidonにはQuickStartのサンプルがあるので、これを使ってみましょう。GraalVMアプリケーションのテンプレートとして利用することもできます。SEhttps://helidon.io/docs/latest/#/guides/02_quickstart-seMavenのachetypeを使ってプロジェクトを生成します。-Dpackage=io.helidon.examples.quickstartローカルプロファイルを使ってビルドするには、GraalVMをダウンロード、展開して展開先を環境変数GRAALVM_HOMEに設定する必要があります。<展開先>/Contents/Homeディレクトリを指し示している必要があります。-Pnative-image実行しましょう。./target/helidon-quickstartDockerプロファイルを使いたい場合、GraalVMのインストールは必要ありません。以下のコマンドでDockerイメージを作成できます。.実行は以下のように。helidon-native:latestHelidonはマイクロサービス用にゼロから作り上げたJavaのフレームワークであり、小さく効率的なJavaアプリケーションを作成するために必要なすべてのものを提供しています。HelidonはreactiveとMicroProfileをサポートするimperative(命令型)の2種類のプログラミングモデルを用意しています。GraalVMのサポートが加わり、Helidonはクラウドネイティブなマイクロサービスを開発するためのベストなソリューションの一つになりました。Helidonオープンソースコミュニティに参加してください。ユーザーのみなさまからの質問やみなさまへのサポートをするための準備ができています。コメントをキャンセルコメントを入力してください。以下に詳細を記入するか、アイコンをクリックしてログインしてください。アカウントを使ってコメントしています。アカウントを使ってコメントしています。新しいコメントがついたらメールで通知。Inside現在40人フォロワーがいます。購読管理このバーを折りたたむ%d人のブロガーが「いいね」をつけました。