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

Tags: プログラミング言語 Ruby

このエントリーをはてなブックマークに追加
ツイート
follow us in feedly





タグクラウド

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

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

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

最新記事10本