ruby-trunk-changes 2020-01-30

今日は pattern match が生成する VM 命令列のちょっとした最適化などがありました。

[f7f8dc5fd4] Nobuyoshi Nakada 2020-01-30 02:31:48 UTC

MJIT 用の precompiled header を生成する tool/transform_mjit_header.rb 内の正規表現で capture が不要な grouping をしているところで (?:...) を使うようにリファクタリングしています。

[16c5cbe422] git 2020-01-30 02:35:06 UTC

version.h の日付更新

[e6334fd450] Nobuyoshi Nakada 2020-01-30 03:04:15 UTC

同様に lib/net/ftp.rb でも正規表現で capture 不要な grouping に (?:...) を使うように変更しています。名前つき group で capture してるのでインデックスの変化の影響は受けなさそう。不要な capture を抑制することで効率を良くするためですかね。

[3893a8dd42] Nobuyoshi Nakada 2020-01-30 08:47:09 UTC

pattern match の VM 命令列へのコンパイル時に生成する命令列で正常系(マッチ成功する時)のほうがジャンプが少なるなるようにちょっと最適化しています。