Ruby開発プロジェクトは12月25日、Ruby 2.6.0の正式版をリリースしました(ruby-lang.org)。
Ruby 2.6.0は毎年12月25日に公開されるRubyのメジャーバージョンアップ版で、多数の新機能やパフォーマンスの改善が行われています。
Ruby 2.6の注目の新機能としては、JIT (Just-in-time)コンパイラの導入があげられています。JITはあらゆるRubyプログラムの実行を高速化するためのもので、 他言語の一般的なJITコンパイラと異なり、C言語のソースコードをファイルとしてディスクに書き、通常のCコンパイラを用いてネイティブコードに変換することでJITコンパイルを行うという手法が採用されています。
JITコンパイルを有効にするには"--jit"コマンドラインオプション、または$RUBYOPT環境変数を指定し、かつ現段階ではGCC、ClangあるいはMicrosoft VC++によってビルドされたRubyとそのコンパイラが実行時に利用可能である必要があります。Ruby 2.6.0の時点でOptcarrotを用いたベンチマークにおいてRuby 2.5の約1.7倍の性能向上を達成しているのとことです。
その他AST(抽象構文木)の情報を扱うことができるRubyVM::ASTモジュールの導入や、Kernel#yield_selfの別名としてthenの追加、ASCII以外の大文字による定数定義機能の追加、終端なしRangeの追加、Binding#source_locationの追加、FileUtils#cp_lrの追加、$SAFEの取り扱いの変更にともなうProc#callの高速化、block.callの高速化、ブロック呼び出しの改善などを含むパフォーマンスの改良、Unicodeバージョン11のサポートなど、さまざまな新機能が追加されています。
変更点の詳細はNEWSファイルでも確認可能です。
タイトル | Ruby | |
---|---|---|
公式サイト | http://www.ruby-lang.org/ja/ | |
ソフトアンテナ | https://softantenna.com/softwares/1964-ruby | |
説明 | オブジェクト指向スクリプト言語。 |