TOPSoftware > Ruby 2.6の新機能とRuby 2.5のおさらい

Software

Ruby 2.6の新機能とRuby 2.5のおさらい

2019/01/08

Paul Krill InfoWorld

前バージョンのRuby 2.5

 ここからは、前バージョンのRuby 2.5について振り返っていく。Ruby 2.5の最初の安定版であるRuby 2.5.0は、2017年12月25日にリリースされた。

 Ruby 2.5は、無用なオーバーヘッドとなっていたtrace命令を削除することにより、5~10%の高速化を実現した。trace命令の代わりに、動的書き換えの手法を用いている。また、ブロックパラメータによるブロック渡しが、Lazy Proc allocationという手法を用いることにより、Ruby 2.4に比べて3倍高速化した。

 Ruby 2.5は、パフォーマンス向上に関して次のような改良点がある。

  • 文法解析器が従来のIRBベースからRipperベースに変わったことで、ドキュメント生成速度が向上した。
  • 共有データへの並行アクセスを管理するためのMutexクラスが、コンパクトかつ高速に書き直された。
  • ERBでテンプレートからのコード生成がRuby 2.4に比べて2倍高速化した。
  • Array#concat、Enumerable#sort_by、String#concatなどの組み込みメソッドの速度が向上した。

 そのほか、Ruby 2.5には次のような変更点がある。

  • Struct.newで生成するクラスで、キーワード引数を使った初期化が可能になった。
  • do/endブロック内に、rescue/else/ensureを直接書けるようになった。
  • pp.rbライブラリが自動的にロードされるようになった。
  • エラー発生時のバックトレースが逆順で表示されるようになった。エラーメッセージをスクロールなしで確認できるようにする狙いがある。
  • テストを向上するために、分岐カバレッジとメソッドカバレッジの計測がサポートされた。分岐カバレッジは分岐が実行されたかどうか、メソッドカバレッジはメソッドが呼び出されたかどうかを表す。

 このほか、乱数生成に使うSecureRandomライブラリで、OpenSSLよりもOSの提供する乱数ソースを優先するようになった。また、cmath、csv、date、dbm、ipaddrなどの標準ライブラリがdefault gemsになった。

Ruby 2.5のダウンロード

 Ruby 2.5は、バージョン2.5.3をRubyの公式サイトからダウンロードできる。

(了)

翻訳:内山卓則=ニューズフロント
記事原文(英語)はこちら

↑ページ先頭へ