2009-07-24 7 views
3

できるだけ早くディスク上に多数の小さなファイルを作成するテストアプリケーションが必要です。複数の小さなファイルを作成するパフォーマンス

asynch opsはファイルの作成やファイルの作成に役立ちますか?プロセス全体を高速化する方法はありますか?(単一ファイルへの書き込みは不可能です)

答えて

1

物理ドライブIOはここでボトルネックにはなりませんか?超高速SSDと比べて、4200rpmドライブと10,000rpmドライブの両方に書き込むと、おそらく異なる結果になるでしょう。

1

テストアプリを自分で作成しなくても難しいですが、ディスクアクセスはとにかく同期されるため、複数のスレッドが同時にディスクに書き込むようなことはありません。各ファイルを書き出す前にかなりの量の処理が行われた場合は、スレッドを使用してパフォーマンスを向上させることができます。

0

ramdiskを使用してアプリをテストすることが可能な場合は、おそらくかなりスピードアップします。

0

可能であれば、それらをすべて同じディレクトリに書き込まないでください。多数のファイルを含むディレクトリを扱う場合、多くのファイルシステムが遅くなります。 (私はかつて同じディレクトリに何千ものファイルを書き込むことで、オフィス全体を喜んで喜んで働かせていた、私たちのファイルサーバを仕事場に持ってきました)。

代わりに、1000個ほどのファイルごとに新しいディレクトリを作成してください。