時間計測について

何ヶ月か前、他のブログで時間計測について話題が出ていましたが、
ym将棋でも、修正をしているうちに、時間計測がおかしくなる事態が発生しました。
話題が出ていた事象とは違うかもしれませんが、手元で起きていたのはこんな感じです。
・制限時間1秒で思考を始めているのに、何十秒も考えてしまい、しかもプログラム内では1秒で考えたことになっている
・また、将棋所での計測(カウントダウン)も、止まったように見えている


Windows のタスクマネージャを見てみると、CPU 使用率は低い値なのですが、メモリ使用率がほぼ 100% に張り付いてしまっていました。
そこで、物理メモリを使い果たしたために、スローダウン状態となってしまった、という仮説をたててみました。(CPU使用率が低いのは、使いたいのだけど使えない状態)
そこで、ときどき強制的にガベージコレクションを動かすようにしたら、とりあえず解消しました。
たぶん、どこかでむだなメモリを使ってるんでしょうけど。

最初は、またハッシュ関連がおかしくて、自動的にテーブルが膨張を始めたのかと思っていましたが、それはぬれぎぬだったようです。