「Ruby 2.6」リリース、JITコンパイラを導入

 プログラミング言語「Ruby」の開発チームは12月25日、最新安定版となる「Ruby 2.6.0」公開を発表した。JITコンパイラの導入など多数の機能強化が加わっている。

 Ruby 2.6.0は、2017年12月25日に公開されたRuby 2.5.0に続く最新版。合計で6437のファイルに変更が加わり、231471行が追加、98498行が削除されたという。

 本バージョンでは新たにJIT(Just in time)コンパイラが導入された。「–jit」オプション付きでrubyコマンドを実行するとこの機能が有効になる。RubyコードをC言語のコードに変換してCコンパイラでコンパイルすることでネイティブコードを生成する機能で、プログラムの実行速度の高速化が期待できるという。「Optcarrot」を用いたベンチマークではRuby 2.5と比較して1.7倍の性能改善が図れたとも報告されている。

 抽象構文木を扱うRubyVM::AbstractSyntaxTreeモジュールを実験導入した。AST(抽象構文木)のNodeを返すparseメソッド、ファイルをパースするparse_fileメソッドの2種類を実装している。

 「Range(1..)」のように、終わりのない範囲を記述できるようになった。始点から無限大までといった範囲で使うことができるという。このほかKernel#yield_selfの別名としてthenの追加、Enumerable#chainとEnumerator#+の追加、Procを関数合成する演算子としてProc#<<とProc#>>の追加など多数の細かな機能が加わっている。

 性能面ではJITコンパイラの導入以外にも、コルーティンのネイティブ実装、特定のクラス向けの短寿命のメモリを管理するtheap(Transient Heap)の導入などの強化が加わった。

 Ruby 2.6はプロジェクトのWebサイトより入手できる。

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