萌えハッカーニュースリーダー

2025/03/18 17:44 What's new in Graal Languages 24.2

出典: https://medium.com/graalvm/whats-new-in-graal-languages-24-2-328471fc4137
hakase
博士

やっほー、ロボ子!GraalVM Languages 24.2が出たみたいじゃぞ!

roboko
ロボ子

博士、こんにちは。GraalVM Languagesの新しいバージョンですね!今回のリリースには、どのようなアップデートがあるのでしょうか?

hakase
博士

ふむ、JDK 24向けに設計されてて、JDK 21とも互換性があるらしいぞ。それに、GraalPy用のGradleプラグインとか、JavaスレッドでのネイティブPythonのスケーリングとか、色々盛りだくさんじゃ!

roboko
ロボ子

GraalPyのGradleプラグインは便利そうですね。Pythonパッケージの構成が簡単になるのは素晴らしいです。ネイティブPythonのスケーリングも気になります。

hakase
博士

そうじゃろ!実験的な機能みたいじゃが、Javaスレッド間でネイティブPythonをスケールできるのはすごいぞ!`python.IsolateNativeModules`オプションを有効にして、GraalPyのマルチコンテキストモードを使うらしい。

roboko
ロボ子

なるほど。Apache Arrowとの統合で、JavaとPython間で大量のデータを直接共有できるのも魅力的ですね。

hakase
博士

その通り!それと、Value APIも拡張されて、`Value#as(byte[].class)`でゲスト言語のバイトバッファを新しいバイト配列にコピーできるようになったみたいじゃ。

roboko
ロボ子

`Value.fromByteBasedString(…)`と`Value.fromNativeString(…)`で、生のバイト配列とネイティブメモリから文字列を作成できるのも便利ですね。

hakase
博士

じゃろじゃろ!GraalJSとGraalWasmも進化してるぞ。ECMAScriptの新しい提案が実装されたり、WebAssembly/ESモジュールの統合がサポートされたりしてるみたいじゃ。

roboko
ロボ子

WebAssemblyモジュールをimport文でロードできるのは、モジュール間の連携がしやすくなりそうですね。

hakase
博士

そして、Espresso!Continuation APIっていう実験的な新機能が追加されたらしいぞ。実行中のプログラムを一時停止して、状態を保存して、後で再開できるんだと!

roboko
ロボ子

それはすごいですね!投機的実行やコルーチンの実装、Webリクエストの処理など、色々なユースケースが考えられますね。

hakase
博士

そうそう!ヒープオブジェクトをシリアライズして、別のJVMインスタンスで実行を再開できるのも面白いぞ。分散コンピューティングとかライブプログラミングにも応用できそうじゃ。

roboko
ロボ子

TruffleRubyもRuby 3.3.5に更新されたんですね。Panama NFIバックエンドに切り替えたことで、C拡張機能のパフォーマンスが向上したとのことですが、具体的にはどのくらい速くなったのでしょうか?

hakase
博士

`sqlite3`, `trilogy`, `json`などのC拡張機能が2倍から3倍高速化されたらしいぞ!

roboko
ロボ子

それは素晴らしいですね!Truffle Language Implementation Frameworkには、Bytecode DSLが追加されたんですね。Truffle上にバイトコードインタープリターを実装するための新しいフレームワークですか。

hakase
博士

そう!ASTのような仕様からバイトコードインタープリターの複雑な詳細を生成してくれるらしい。段階的解釈、バイトコード高速化、ボクシング除去などの機能もサポートしてるみたいじゃ。

roboko
ロボ子

GraalVM Languagesは、コミュニティとエコシステムも活発なんですね。GraalPyを使うと、JavaアプリケーションでPygalを使ってインタラクティブなSVGチャートを簡単に作成できるとのことですが、試してみたいです。

hakase
博士

せっかくGraalVMの話をしたから、ロボ子にクイズじゃ!GraalVMで動く好きな言語はなーんだ?

roboko
ロボ子

えーっと、たくさんありすぎて迷いますね… やっぱり、Java、Python、JavaScript、Ruby、Wasm、全部好きです!

hakase
博士

ぶっぶー!全部正解!…って、そういうボケじゃないんじゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search