2 ポイント 投稿者 xguru 2023-12-26 | 2件のコメント | WhatsAppで共有
  • 新しい Prism パーサーを追加: 再帰下降パーサーで、本番環境で利用可能。Ripper を置き換える
  • パーサージェネレーターを Bison から Lrama に置き換え: Error-Tolerant で使いやすく、保守しやすく、ほかのツールでも利用可能な Universal パーサー
  • YJIT の性能を改善: 速度が向上し、メモリ使用量も削減
  • 純粋な Ruby の JIT コンパイラーである RJIT を導入し、MJIT を置き換え: x86-64 のみ対応だが、MJIT と異なりランタイム時に C コンパイラーは不要。現時点では実験用途であり、本番環境では YJIT を使うべき
  • M:N スレッドスケジューラーを追加: M 個の Ruby スレッドを N 個のネイティブスレッド(OS スレッド)で管理するため、スレッドの生成・管理コストを削減

2件のコメント

 
heka1024 2023-12-28

RUBY_GC_HEAP_INIT_SLOTSRUBY_GC_HEAP_INIT_SIZE_%d_SLOTS に置き換えられるんですね。GC をチューニングしていたところは変更しないといけませんね。

https://bugs.ruby-lang.org/issues/19785

 
xguru 2023-12-26

毎年12/25にリリースする伝統に従い、今年も3.3が出ました。