「Ruby 3.1」が登場

 プログラミング言語Ruby開発チームは12月25日、「Ruby 3.1.0」の公開を発表した。新しいコンパイラを実験的に統合するなどの強化が加わっている。

 Ruby 3.1は2020年12月に公開されたバージョン3.0に続く最新安定版。3.0と高い互換性を保つという。  プロセス内JITコンパイラYJITを統合した。Lazy Basic Block Versioning(LBBV)アーキテクチャに基づきCRuby内に構築したもので、実験的扱いとなりデフォルトでは無効。2.6で導入したメソッドベースのMJIT(Method Based Just-in-Time Compiler)が外部Cコンパイラを利用するのに対し、YJITはメソッドの冒頭のみをコンパイルし、引数や変数の値が明らかになって残りをコンパイルするという手法をとる。これにより、既存のRubyコードとほぼ100%の互換性があり、実際のソフトウェアのベンチマークではrailsbenchでは最大22%、liquied-renderでは39%の高速化を達成しているという。

 デバッガーも一新し、debug.gemとして同梱した。既存のlib/debug.rbを置き換えるものとなり、リモートデバッグ、マルチプロセス/マルチスレッドプログラムのデバッグなどをサポートし、性能も改善した。  バックトレース中でエラーが発生した詳細な位置を表示する組み込みgem、error_highlightを導入した。  このほか、Interactive Ruby(IRB)で自動補完機能が加わるなど、多数の強化が加わっている。

Ruby
https://www.ruby-lang.org/ja/