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

[PR]記事内のアフィリエイトリンクから収入を得る場合があります
  • URLをコピーしました!

Ruby開発チームは11月17日、プログラミング言語「Ruby」のプレビュー版「Ruby 4.0.0-preview2」をリリースしました(ruby-lang.org)。今回のプレビュー版では、言語仕様からJITコンパイラまで幅広い改善が行われています。以下に注目ポイントを整理しました。

言語機能の変更:

  • nil.to_a が呼ばれなくなり、より直感的で一貫性のある挙動に。**nilnil.to_hash を呼ばない仕様と統一。

コアクラスのアップデート:

  • Binding

    • local_variables に番号付きパラメータが含まれなくなった。

    • local_variable_get / set も番号付きパラメータを扱わないように。

  • IO

    • IO.selectFloat::INFINITY をタイムアウト引数として受け付けるように。

  • String / Regexp

    • Unicode 15.1.0 と Emoji 15.1 に対応。

    • 最新の文字セットをサポート。

JIT関連の変更:

  • YJIT

    • ratio_in_yjit がデフォルトビルドで無効化。

    • --enable-yjit=stats を指定することで有効化可能。

    • invalidate_everything がデフォルトで統計に追加。

    • RubyVM::YJIT.enablemem_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に向けた注目の機能が多数追加されています。正式リリースに向けて、開発者コミュニティのフィードバックが期待されます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次