namazu-dev(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Namazu 1.9.2
- From: Satoru Takabayashi <satoru-t@xxxxxxxxxxxxxxxxxx>
- Date: Tue, 07 Sep 1999 17:04:05 +0900
- References: <199909070355.MAA12306@ring.etl.go.jp> <199909070457.NAA14700@ring.etl.go.jp>
knok@xxxxxxxxxxxxx (NOKUBI Takatsugu) wrote:
>
> 実際のボトルネックがどこにあるのかを調べるために、profilerにかけて
>ました。
> Devel::DProfをインストールし、perl -d:DProf mknmzとして実行した後生
>成されたtmon.outをdprofpp -uにかけた結果、以下の通りになりました。
perl に profilerがあったとは知りませんでした。さっそく試して
みました。
| Total Elapsed Time = 46.39440 Seconds
| User Time = 37.79985 Seconds
| Exclusive Times
| %Time ExclSec CumulS #Calls sec/call Csec/c Name
| 15.5 5.870 5.870 1 5.8700 5.8698 mknmz::write_phrase_hash_sub
| 13.9 5.277 5.160 21796 0.0002 0.0002 mknmz::hash
| 10.8 4.082 6.489 6972 0.0006 0.0009 File::MMagic::readMagicEntry
| 8.94 3.379 3.377 504 0.0067 0.0067 mknmz::wordcount_sub
| 7.41 2.802 7.960 84 0.0334 0.0948 mknmz::make_phrase_hash
| 6.24 2.359 2.330 5460 0.0004 0.0004 File::MMagic::readMagicLine
(snip)
hash() 関数が 21,796回も呼び出されているので、その辺の処理を
改良したところ、
| Total Elapsed Time = 39.93897 Seconds
| User+System Time = 38.46897 Seconds
| Exclusive Times
| %Time ExclSec CumulS #Calls sec/call Csec/c Name
| 15.4 5.950 5.950 1 5.9500 5.9497 mknmz::write_phrase_hash_sub
| 13.0 5.013 7.399 6972 0.0007 0.0011 File::MMagic::readMagicEntry
| 11.0 4.267 4.139 20080 0.0002 0.0002 mknmz::hash
| 7.80 2.999 2.997 504 0.0060 0.0059 mknmz::wordcount_sub
| 7.26 2.791 6.928 84 0.0332 0.0825 mknmz::make_phrase_hash
| 6.49 2.498 2.465 5460 0.0005 0.0005 File::MMagic::readMagicLine
と改善されました。すばらしい。「ここは遅いぞ」という点があれ
ばどんどん修正していきましょう。:-)
# mknmz::hash() の回数が減ったのは、周辺の処理が変わったから
# です。よって、NMZ.p, NMZ.pi の内容もわずかに変わります。
-- Satoru Takabayashi