Ruby 2.6正式版リリース。JITコンバイラを初めて実験的に搭載
プログラミング言語「Ruby」は、次のメジャーバージョンアップとなるRuby3をRuby2の3倍の実行速度にするという「Ruby 3x3」(ルビースリーバイスリー)構想の下で積極的な開発が進められています。
そのRuby 3x3を実現するうえでもっとも重要な仕組みとされるJITコンパイラを初めて搭載したRuby、「Ruby 2.6.0」正式版が、2018年12月25日にリリースされました(クリスマスの日にRubyがバージョンアップするのは恒例になっています)。
現時点ではまだJITコンパイラは実験的実装(Experimental)で、有効にするには「--jit」オプションの設定が必要です。また、現在実装されているJITコンパイラは他言語の一般的なJITコンパイラと異なり、いったんC言語のソースコードをファイルとして書き出し、それを通常のCコンパイラを用いてネイティブコードに変換することでJITコンパイルを行うという手法を用いています。
そのためJITコンパイラを利用するためには、対象となるRuby 2.6がGCC、Clang、あるいはMicrosoft VC++によってビルドされ、かつそのコンパイラが実行時に利用可能である必要があります。
「Optcarrot」と呼ばれるファミコンのエミュレーションによるCPU負荷中心のベンチマークでは、Ruby 2.6はRuby 2.5の1.7倍の性能向上とのことですが、Railsアプリケーションなどのメモリ負荷の高い環境では、まだ期待できる性能向上が実現できていないとのこと。今後のJITコンパイラの改善などによる性能向上に期待がかかります。
そのほかRuby 2.6では抽象構文木を扱う「RubyVM::AbstractSyntaxTree」モジュールの実験的導入、Unicodeバージョン11のサポートと新元号用合字対応、RubyGems 3.0.1のマージ、BundlerをDefault gemsとして標準添付するなどの新機能が追加されています。
あわせて読みたい
AWSが新DBサービス「Amazon DocumentDB」発表。MongoDB互換のマネージドデータベース
≪前の記事
インテル、機械学習の推論に特化した新プロセッサ「Nervana Neural Network Processor for Inference」発表。Facebookが開発に協力