1

プログラムのパフォーマンス テストを行う必要があり、ファイルに保存されているデータへの最悪の IO アクセス時間を評価する必要があるため、これを評価する最善の方法は、これらのデータを異なる HD セクターにランダムに保存して、連続したデータ アクセスとキャッシュの改善を回避します。これを行う唯一の方法は、データを書き込むセクターを指定できる UNIX の dd など、いくつかの低レベルの OS コマンドを使用することだと思いますが、私が間違っていなければ、これは安全でない方法です。誰かがこれを行うための良い代替手段を知っていますか?

PS: 任意の OS の任意のソリューションが機能します。唯一の要件は、JAVA プログラムを介してデータにアクセスし、さまざまなデータ サイズでテストを実行する必要があることです。

4

1 に答える 1

1

これを行う唯一の方法は、いくつかの低レベルの OS コマンドを使用することだと思います

いいえ...RandomAccessFile持っています.seek()

final RandomAccessFile f = new RandomAccessFile(someFile, "rw");

f.seek(someRandomLong);
f.write(...);

もちろん、書き込みが互いに衝突しないようにするのはあなた次第です。

別の解決策は、ファイルをメモリにマップし、書き込む前にバッファの位置をランダムな位置に設定することです。

于 2013-07-08T11:21:33.293 に答える