« 最適化された最適化手法について | メイン | 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 を引き起こすようなタスクについて、その負荷を抑えるために使用しています。
投稿者 kazuho : 2008年08月04日 10:22
トラックバック
このエントリーのトラックバックURL:
https://labs.cybozu.co.jp/cgi-bin/mt-admin/mt-tbp.cgi/1975