nDiki

2004年1月23日 (金)

[ Perl ] Devel::Cycle

WiKickerメモリ消費量を抑えるためにメモリリークチェック用モジュールをいくつか試してみる。

  • Devel::Leak - リークをチェックするコードの最初と最後にサブルーチンを呼ぶ。リークはアドレスで表示される。
  • Devel::LeakTrace - use すると勝手にプログラムのリークをチェックする。表示は Devel::Leak と同じタイプ。dh-make-perl でうまくパッケージ化できなかったので試すのやめ。
  • Devel::ObjectTracker - perl -d:ObjectTracker ... として使用。プログラム実行のトレースをファイルに書き出す。デフォルトで標準出力にメッセージを吐くのでCGI プログラムでは困る。実行時ディレクトリに .objecttracer というファイルを置きその中に $Devel::ObjectTracker::verbose = 0; と書いておけば最初から出力を抑制しておける。が、試してみたらセグメンテーションフォルト。
  • Devel::Cycle - 指定したリファレンスを辿り循環参照が無いかを検出するサブルーチンを提供。
  • Test::Memory::Cycle - 上記のテストハーネス用のインタフェース

結局うまく使えそうなのは、Devel::Cycle ぐらいかな。 循環参照を発見した場合の表示は見やすい。 WiKicker の何か所かでチェックしてみたけど、今のところ見つからず。

スポンサード リンク
[ 1月23日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.162401s / load averages: 0.47, 0.38, 0.34
nDiki by WATANABE Yoshimasa (Naney)
Powered by DiKicker