krの日記: Haskellで速いwcを書いてみよう(3)
日記 by
kr
前のエントリからの続きです。
tanakh氏のページの2番目のHaskellプログラムも、一度に入力全体を保持するコードになっているようですので、試してみるのは省略します。そこで氏の3番目のHaskellコード、「そんなことを考えつつ適当にコードを書いていたらこんなものが出来た」とあるプログラム(ここではprog2と呼ぶことにします)を試してみます。
% time ./prog2 < /usr/share/doc/en/books/handbook/book.txt
72266 323341 3196121
4.606u 0.015s 0:04.82 95.6% 334+231k 0+0io 0pf+0w
4.605u 0.015s 0:04.79 96.2% 331+229k 0+0io 0pf+0w
4.613u 0.007s 0:04.78 96.4% 332+229k 0+0io 0pf+0w
4.598u 0.023s 0:04.79 96.2% 334+231k 0+0io 0pf+0w
4.609u 0.015s 0:04.86 94.8% 336+239k 0+0io 0pf+0w
平均して実時間で4.81秒というところでしょうか。 単語数のみ計算する簡単版が約0.80秒でしたから、これはかなりがっかりな結果です。
氏はこのコードを改良して、更に高速にしたということなので、次にはそれを試してみましょう。