Ruby 2.6正式版リリース。JITコンバイラを初めて実験的に搭載

2019年1月10日

プログラミング言語「Ruby」は、次のメジャーバージョンアップとなるRuby3をRuby2の3倍の実行速度にするという「Ruby 3x3」(ルビースリーバイスリー)構想の下で積極的な開発が進められています。

そのRuby 3x3を実現するうえでもっとも重要な仕組みとされるJITコンパイラを初めて搭載したRuby、「Ruby 2.6.0」正式版が、2018年12月25日にリリースされました(クリスマスの日にRubyがバージョンアップするのは恒例になっています)。

fig

現時点ではまだ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として標準添付するなどの新機能が追加されています。

あわせて読みたい

プログラミング言語 Ruby




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本