Benchmark.pm
- ある特定の処理の速度を較する
- ○○関数と△△関数はどっちが速いか、とか
- 遅い関数/遅いモジュール とかの情報はネットに結構な量の情報が出回ってるので、自分で測る機会はそんなにない(速度厨の時期を除く)という感覚
- 参考
- http://d.hatena.ne.jp/perlcodesample/20100509/1276960096
- example
- http://d.hatena.ne.jp/gfx/20090115/1231984929
Devel::NYTProf
- Perlプログラムでボトルネックになっている行を特定する(いわゆるプロファイラと呼ばれるもの)
- ループのなかで重い処理呼んでた、みたいなパターンも一発で特定できる優れ物
- 難: 計測結果が膨大なので、読むにはちょっとだけ慣れる必要あり
- Newyork Times の中の人が作ったからNYT
- 参考
*http://d.hatena.ne.jp/tokuhirom/20080726/1217044574
Devel::KYTProf
- I/O待ちが発生した箇所のみ計測する
- DB/memd接続とか、外部ネットワークへのリクエストとか
- はてな社作(はてなは京都にある。KYTはKyotoから取ってる)
- 参考
*http://perl-users.jp/articles/advent-calendar/2010/hacker/24
DBIx::QueryLog
- DB接続に特化して計測。KYTProfの機能をさらに絞ったもの
- 実際の運用なら、これを使わず SLOW QUERY LOG みるという手もありますね
- xaicronさん作
- 参考
*http://perl-users.jp/articles/advent-calendar/2011/dbix/9
社内向けに公開してみたら意外と好評だったのでQiitaに転載してみた。