Perlのプロファイラ - Devel::DProf
2006-11-06-3
[Programming]
Devel::DProf
http://metatoys.org/propella/tips/Devel_DProf.html
DProfの話は、「プログラミングPerl 第3版 VOLUME 1」の
第20章「Perlデバッガ」に載っています。
デバッガ(perl -de0)の話も詳しいです。
で、プロファイルの使い方。
例えば、foo.pl というプログラムをプロファイリング。
こと判明。高速化するにはまずこの部分に手を入れるべきであるというこ
とが分かります。
ref.
- svk を当社比100倍高速化する方法: blog.bulknews.net
http://blog.bulknews.net/mt/archives/002077.html
- [を] Perlデバッガ[2005-01-06-3]
http://metatoys.org/propella/tips/Devel_DProf.html
DProfの話は、「プログラミングPerl 第3版 VOLUME 1」の
第20章「Perlデバッガ」に載っています。
デバッガ(perl -de0)の話も詳しいです。
で、プロファイルの使い方。
例えば、foo.pl というプログラムをプロファイリング。
で、tmon.out というファイルができます。整形して見るには dprofpp。% perl -d:DProf foo.pl
この結果(擬似)から、Foo::Process が実行時間の大部分を占めている% dprofpp Total Elapsed Time = 54.58411 Seconds User+System Time = 49.11048 Seconds Exclusive Times %Time ExclSec CumulS #Calls sec/call Csec/c Name 82.8 40.69 41.423 454 0.0896 0.0912 Foo::Process 8.95 4.393 3.399 102308 0.0000 0.0000 Bar::GetNext 3.79 1.862 4.889 544 0.0034 0.0090 Foo::Parse 2.22 1.090 1.823 454 0.0024 0.0040 Foo::GetContent 1.92 0.943 0.641 33853 0.0000 0.0000 Hoge::search 1.64 0.803 0.437 27471 0.0000 0.0000 Hoge::get 1.63 0.802 0.835 19114 0.0000 0.0000 Foo::get 1.40 0.687 0.357 33853 0.0000 0.0000 Hoge::find 1.25 0.615 0.736 14739 0.0000 0.0000 Foo::_get 1.14 0.562 49.770 454 0.0012 0.1096 Foo::Eat 0.89 0.437 0.169 27471 0.0000 0.0000 Hoge::_getline 0.83 0.406 0.402 454 0.0009 0.0009 Bar::Destroy 0.63 0.311 5.192 454 0.0007 0.0114 Foo::Parse2 0.24 0.117 0.113 454 0.0003 0.0002 main::output 0.21 0.101 0.097 454 0.0002 0.0002 Foo::lock_file
こと判明。高速化するにはまずこの部分に手を入れるべきであるというこ
とが分かります。
ref.
- svk を当社比100倍高速化する方法: blog.bulknews.net
http://blog.bulknews.net/mt/archives/002077.html
- [を] Perlデバッガ[2005-01-06-3]