« 最適化された最適化手法について | メイン | Q4M バージョン 0.8 をリリースしました » 2008年08月04日 実行時間を抑制するモジュール Sub::Throttle を書いた Sub::Throttle という、実行時間を指定した割合に抑制するモジュールを作りました。実装としては、関数の実行後に適切な時間の sleep を挿入する形になっているので、下のようにループの実行中に挿む形で使うことになります。 # 使用前 for (...) { ... } # 使用後 (負荷を 0.1=10% に抑制) use Sub::Throttle qw/throttle/; for (...) { throttle( 0.1, sub { ... }, ); } Pathtraq の場合は、Disk I/O を引き起こすようなタスクについて、その負荷を抑えるために使用しています。