Ruby 4.0.0 preview2リリースまとめ。次世代JITが登場!

Wait 5 sec.

Ruby開発チームは11月17日、プログラミング言語「Ruby」のプレビュー版「Ruby 4.0.0-preview2」をリリースしました(ruby-lang.org)。今回のプレビュー版では、言語仕様からJITコンパイラまで幅広い改善が行われています。以下に注目ポイントを整理しました。言語機能の変更:nil.to_a が呼ばれなくなり、より直感的で一貫性のある挙動に。**nil が nil.to_hash を呼ばない仕様と統一。コアクラスのアップデート:Bindinglocal_variables に番号付きパラメータが含まれなくなった。local_variable_get / set も番号付きパラメータを扱わないように。IOIO.select が Float::INFINITY をタイムアウト引数として受け付けるように。String / RegexpUnicode 15.1.0 と Emoji 15.1 に対応。最新の文字セットをサポート。JIT関連の変更:YJITratio_in_yjit がデフォルトビルドで無効化。--enable-yjit=stats を指定することで有効化可能。invalidate_everything がデフォルトで統計に追加。RubyVM::YJIT.enable に mem_size: と call_threshold: オプションが追加。ZJIT実験的なメソッドベースのJITコンパイラを追加。--enable-zjit で有効化可能。まだ性能改善は限定的で正式リリースまで評価は控えるべき。RJIT--rjit が削除。サードパーティ実装は ruby/rjit リポジトリへ移行。Ruby 3.4.0から 3607ファイルが変更され、 197451行が追加され、285607 行が削除されています。。まとめRuby 4.0.0-preview2 は、言語仕様の一貫性強化、Unicodeアップデート、新しいJITコンパイラの試験導入など、次世代Rubyに向けた注目の機能が多数追加されています。正式リリースに向けて、開発者コミュニティのフィードバックが期待されます。