|
分類:[Windows 全般]
2013/10/24(Thu) 17:36:58 編集(投稿者)
はじめまして。 お世話になります。
環境:Windows7、VisualStudio2005、C++、HDDはNTFS
512KBのデータを60ms間隔で2時間、ファイル出力するプログラムを作成しています。 (ファイル名は出力する直前にGetLocalTime()で取得したミリ秒までの値をファイル名としています)
60ms間隔なので、1000/60ということで、1秒間に16ファイル、 ファイル出力の処理にかかる時間を考慮して15ファイルは出力できるだろうなと考えていたのですが、 実際には、ほとんどは1秒間に15、16ファイル出力しているのですが、 開始からしばらくしてから1秒間に13や12ファイルといったように 15を下回る時間が散見されるようになってきました。この凹み状態の箇所は、 ほぼ一定間隔(十数秒)で現れているように見受けられます。 ファイルOPEN、ファイルWRITE、ファイルCLOSEの前後にGetTickCount()を置いて、 かかっている時間を確認したところ、凹み状態の時間では、ファイルOPEN(ごく稀にファイルWIRTE)に 時間がかかっていることが分かりました。 このように、一定間隔でコマ落ち?のような現象が発生する原因はどのようなものがあるでしょうか? HDDへのアクセスに関する部分に問題があるのでしょうか?(たとえば、シーク時間とか?ファイルシステムの管理情報とか?)
長文、乱文で申し訳ありません。 どうぞ、よろしくお願いします。
|