以下の内容はhttps://gfx.hatenadiary.org/entry/20100614/1276500987より取得しました。


Test::LeakTrace has been improved at 0.11

Test::LeakTraceは、主にXSコードのメモリリークを追うために書いたライブラリだが、誤検出(false positive)が多く使いにくかった。今回RTチケットを受け取ったのを機に、検出アルゴリズムを再考したので、誤検出はほぼなくなったはずだ*1
新しいアルゴリズムは非常に単純である。あるコードブロック(サブルーチン)の前にSVの個数を数えておき、ブロックの実行後にもう一度SVを数え、差があればなにか良くないことが起きている、とみなす。そして、詳しくトレースするために独自のopcode実行ループ*2の制御のもとでもう一度実行し、レポートを作成するというわけだ。あまりにも単純すぎて、なぜ昔はこの方法が思い浮かばなかったのか、不思議なくらいである。

*1:しかし、依然として内部キャッシュは検出する。キャッシュとメモリリークを区別することはおそらく不可能であろう。

*2:runops




以上の内容はhttps://gfx.hatenadiary.org/entry/20100614/1276500987より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14