2017-08-24 4 views
-1

私は約3000のファイルを持つディレクトリを使用しています。私は、100,000または数百万の量のファイルを読み込むのが遅いCreateFileについて話したNTFSスレッドを認識しています。私の数はそれほど高くはありませんが、3000ファイルを開くときにCreateFileが完了するまでにはまだ4〜7ミリ秒かかります。だから私の問題は、以下のポストに似ています。いくつかのマシンでは、私はCreateFileを起動し、次に他のマシンではこの4〜7 msの速度ですが、高速です。私は運がないFat32ファイルシステムとNTFSを試しましたが、どちらも遅いです。 Win7とWin10と同じですが、どちらも遅いです。私が気づいた唯一の共通点は、SATA/RAIDコントローラを使用しているマシン上では速度が遅いマシンが標準SATAを持つマシン上にあるように見えることです。すべてのマシンがSSDドライブを使用しています。多数のファイルを開くときにWindows CreateFileが遅くなる

メモ:以下のスレッドと同じことを実験の一部として実行しています。 CreateFileとCloseHandleを呼び出すシンプルなプログラムがあります。何もしていないし、いくつかのマシン(4〜7msのCreateFile)では非常に遅く、上記のように他のマシンでは高速です。次のスレッドは非常によく似た質問ですが、決して良い答えはありませんでした。

Why is windows so slow in opening files first time and is there a faster way

だから私は間違っていたあなたに

dgraves

+1

アンチウイルスソフトウェア? –

+0

ファイルが初めて開かれたときに、メモリ/キャッシュマネージャとファイルシステムに追加の作業があります(ファイル/リンクコントロールブロックとセキュリティ記述子の割り当てなど)。ファイルを閉じて再度開いたときに必ずしも繰り返される必要はありませんファイルシステムの設計と使用方法によって異なります。しかし、それは7ミリ秒ほどの遅延を説明していません。間違いなく@HarryJohnstonの示唆するように、すべてのマルウェアスキャナを無効にしてみてください。 – eryksun

+0

ウイルス対策ソフトウェアが実行されていません。また、セーフモードでプログラムを実行すると、低速で動作するマシンでこの問題が発生しないことがわかりました。 – dgraves

答えて

1

ありがとうございます。私はサードパーティのアンチウイルスソフトウェアをインストールしていませんでしたが、Microsoft Security Essentialsはまだインストールされていました。これは間違いなく問題であり、MSEの実行中にCreateFileが遅くなることは意味があります。したがって、MSEまたはWindows Defenderを実行している場合、CreateFileが大幅に遅くなります。

関連する問題