Ruby 3.3 リリース
(ruby-lang.org)- 新しい Prism パーサーを追加: 再帰下降パーサーで、本番環境で利用可能。Ripper を置き換える
- パーサージェネレーターを Bison から Lrama に置き換え: Error-Tolerant で使いやすく、保守しやすく、ほかのツールでも利用可能な Universal パーサー
- YJIT の性能を改善: 速度が向上し、メモリ使用量も削減
- 純粋な Ruby の JIT コンパイラーである RJIT を導入し、MJIT を置き換え: x86-64 のみ対応だが、MJIT と異なりランタイム時に C コンパイラーは不要。現時点では実験用途であり、本番環境では YJIT を使うべき
- M:N スレッドスケジューラーを追加: M 個の Ruby スレッドを N 個のネイティブスレッド(OS スレッド)で管理するため、スレッドの生成・管理コストを削減
2件のコメント
RUBY_GC_HEAP_INIT_SLOTSもRUBY_GC_HEAP_INIT_SIZE_%d_SLOTSに置き換えられるんですね。GC をチューニングしていたところは変更しないといけませんね。https://bugs.ruby-lang.org/issues/19785
毎年12/25にリリースする伝統に従い、今年も3.3が出ました。