MacOSX 10.4.10 に付いてくる grep ですが、\(\)\1 タグ付き正規
表現を PowerBook G4 (1.67GHz)で動かすと妙に遅いことがあるこ
とに気が付きました。たとえば、次のようなものです。
grep '\([a-z][a-z][a-z][a-z][a-z][a-z]\)\1' /usr/share/dict/words
何分か待っても帰ってきません。5分で3つ。
------------------------------------------------------------
% ps ux | head -2
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
yas 11882 93.2 -0.0 27608 640 p2 R+ 7:24PM 4:27.18 grep \([a-z][a
%
------------------------------------------------------------
ところが、PowerPC G5 (2.0GHz) の Xserve で走らせると、すぐに
帰ってきます。0.5秒くらい。
------------------------------------------------------------
% time grep '\([a-z][a-z][a-z][a-z][a-z][a-z]\)\1' /usr/share/dict/words
ambilateralaterally
gastrogastrotomy
killeekillee
quadriquadric
tangantangan
0.486u 0.004s 0:00.49 97.9% 0+0k 0+0io 0pf+0w
%
------------------------------------------------------------
これは、何か CPU の違いが影響しているのでしょうか。
\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 電子・情報 \\
9分25秒で帰ってきました。
------------------------------------------------------------
% grep '\([a-z][a-z][a-z][a-z][a-z][a-z]\)\1' /usr/share/dict/words
ambilateralaterally
gastrogastrotomy
killeekillee
quadriquadric
tangantangan
482.662u 28.783s 9:25.73 90.4% 0+0k 1+2io 0pf+0w
%
------------------------------------------------------------
キャッシュかな。