2012-04-05 3 views
2

私は今学期コンピュータ構成クラスを取っています。ファイルシステムのパフォーマンスをベンチマーク

私の教授は次のようにhomework.theの記述がある私たちを与える:

は、ベンチマークに2つのファイルシステム、WindowsとLinuxのプログラムを書きます。どちらが良いかについて話し合う。

私はこの宿題を実装するためにCを使用したいと思いますが、私はどのように起動するのか分かりません。

どの機能が必要ですか?私は何ができますか?

いくつかのヒントや例を教えてください。

+0

「stdio.h」を見てくださいhttp://www.cplusplus.com/reference/clibrary/cstdio/と 'time.h' http://www.cplusplus.com/reference/clibrary/ctime/ Cでファイル/時間を使用する方法についての情報を得ることができます。また、より具体的にテストしたいもの(つまり、ファイルを開く、ファイルを削除する、ファイルを作成するなど)を把握しなければなりません。 – twain249

+0

ありがとうございました! – Sagi

答えて

3

bonie++からソースをダウンロードして、どのように表示されるかをご覧ください。

しかし、私はあなたのHDDに書き込んで、定義されたデータの書き込みや読み込みにどれくらいの時間がかかるかを調べることをお勧めします。単にファイルの

2

いくつかの興味深いデータポイントの読み取り/書き込み:ホットキャッシュ対

  • 冷たいキャッシュ、
  • シングルスレッド?同時スレッド?窓の対
  • のPOSIX AIOは、I/O(シングルスレッドを?複数のスレッドを?)重なっ

また、ディレクトリの列挙とトラバーサルの速度を測定することがあります。

LinuxとWindowsの両方が多くのファイルシステムをサポートしていることに注意してください。 ext4とNTFSはそれぞれLinuxとWindowsで最も広く使われています。

どの機能を使用しますか? UNIXの場合は、基本的なread(2)write(2)コール(通常のブロッキングIOの場合)があります。 WindowsにはReadFile and WriteFileがあります。

+0

WindowsとLinux上でファイルシステムのベンチマークを行うためにいくつかのコードを使用することはできますか?私は、異なる機能が異なる速度を持っていることを恐れています。 – Sagi

+0

異なるオペレーティングシステムには異なるAPIがあります。はい、どちらもCの 'read(2)'/'write(2)'を使用することはできますが、どちらの場合でも最高のパフォーマンスを得ることはできません。 –

+0

私はシーケンシャルリーディングテストを書いた。コード:http://paste.plurk.com/show/991066/ 私は正しい方向にいますか? – Sagi

関連する問題