akaishi です。

すごく古い話ですが、

From: matz / netlab.co.jp (Yukihiro Matsumoto)
Subject: [ruby-list:7154] Re: please apply me
Date: Wed, 18 Mar 1998 11:57:54 +0900

> 先日簡単なgrepを作って速度比較をしました.
> 
>   % time ruby -ne 'print if /ruby/' /usr/dict/*
>   % time perl -ne 'print if /ruby/' /usr/dict/*
> 
> んで,やっぱりperlにはかなわないんで,30%増しくらいの実行時
> 間でした.んではpythonでやってみようと思い立ったのは良いです
> が,まず引っかかったのが,grep書くのが結構面倒ということです.

自分でも試しにやってみたところ、たしかに ruby の方が若干遅く、perl に比
べて 20%増し程度でした。

しかし、次に以下のように | を入れて試してみると、

% time ruby -ne 'print if /ruby|perl/' /usr/share/dict/words
% time perl -ne 'print if /ruby|perl/' /usr/share/dict/words

今度は逆に ruby の方が 1.5 倍ほど速い。
さらに、

% time ruby -ne 'print if /^(ruby|perl)$/' /usr/share/dict/words
% time perl -ne 'print if /^(ruby|perl)$/' /usr/share/dict/words

こうすると perl の方が 1.6倍ほど速いようです。得意不得意というのがあるの
ですね。


> そこでpython 1.5で標準採用されたと言うpcre(perl compatible
> regular expression)を使ってみる事にしました.具体的にはregex
> をreに変えるだけです.
> 
> すると,なんと実行時間はrubyの8.2倍かかりました.pcreって遅
> いのね.

python は面倒だし比べるまでもなさそうなので:-P 計測していません。