「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サイトより入手できる。