タグ

ブックマーク / www.drk7.jp (2)

  • Perl スクリプトで遅い場所を特定する方法 - Devel::Profiler / Devel::NYTProf

    仕事で書いてる Sledge アプリがあるのですが、先日負荷テストを行った結果びっくりすることに現行アプリの10倍遅いことが判明してしまいました・・・orz Sledge フレームワーク自身が重くないことは今までの経験でわかってるのですが、どうにもソースを見直しているだけでは原因が特定できない・・・そんな活躍するのがプロファイラです。プロファイラの御陰で遅いヶ所を特定することができ、無事に想定するパフォーマンスを得ることができました。この内容に関してはまた別エントリにて。 さて、プロファイラを使うとプログラム実行時の各種情報を収集し、性能解析を行うことが可能です。プロファイラについてもう少し詳しくしるには 性能解析 - Wikipedia あたりを読むと良いでしょう。 プロファイラ(英: Profiler)は性能解析ツールであり、プログラム実行時の各種情報を収集する。特に、関数呼び出しの

  • ファイル検索イテレータ Find::File::Iterator って便利かも?

    Perl でディレクトリ一覧を取得するとき、File::Find を使ったり、opendir でゴリゴリ書いたりってのが普通だったりしませんか?Perl 標準だけで書けるので。僕の場合は、配布用 CGI とかは、File::Find を使って、それ以外では自前のモジュールって感じで使っていました。 で、最近 File::Find::Iterator を今更ながら知りました。なんか 2003 年でメンテナンスが止まっているっぽいですが、なかなか優れもののモジュールです。ソースを見ると File::Find を継承したものではなく、Class::Iterator を継承して IO::Dir 使って書かれてます。今、Author をよく見たら作者が同じだった・・・。 File::Find を使った場合は、 use File::Find; our @files; our @dirs; find(\

  • 1