Regexp::Common, Perl 5.18.1, oオプション -> なんか遅い

Regexp::Common, Perl 5.18.1, oオプション -> なんか遅いぱわふる追記:別の環境のPerlでやると5.18.0が5.18.1と同じぐらいの速度になったので調査中…
追記2(結論):スレッドのサポートを有効にしてPerlをインストールしたのが原因でした orz

偶然気づいたんだけど、Perl 5.18.0 と Perl 5.18.1 でoオプションがあるときの速度差が大きすぎる。

バグ修正の「v5.18.0 から、/[#](?{})/x のような構文で、# を間違ってコメントと 解釈していました。 コードブロックは読み飛ばされ、パースされていませんでした。 これは修正されました。」が怪しい。
でも、速度がかなり落ちただけで動いてはいるので(新たな)バグと言っていいものなのか……。

http://perldoc.jp/docs/perl/5.18.1/perl5181delta.pod

ベンチマーク↓

追記:
なんでやねん?と思って調べたらスレッドのサポートを有効にしてPerlをインストールしたのが原因でした……。
plenv のドキュメントの「SYNOPSIS」では「-Dusethreads」付きでインストールのコマンド書かれていたので、てっきり「-Dusethreads」が推奨なのかと思ってしまった。
「-Dusethreads」を外してベンチマークとった結果が以下の通り。


コメントを残す

メールアドレスが公開されることはありません。