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 計測していません。