0

さまざまなタイプのSDカード間のパフォーマンスの変化を追跡するために、AndroidデバイスとSDカードの間にベンチマークプロジェクトを構築しています。

私のベンチマークでは、多くのioメソッドを使用しており、SDカードへの論理的アクセスと物理的アクセスの両方を使用しています。時々私は内部バッファのサイズを制御します(でsetnvbuf()

各ファイルの読み取り/書き込みの間に、システムのキャッシュまたは内部バッファをクリアしたいと思います。これを管理するための最良の方法は何ですか?

私のプロジェクトは部分的にネイティブであり、ndkを使用しているため、必要に応じてac/cppアプローチを使用できます。

ありがとう。

4

1 に答える 1

0

ベンチマーキングファイルシステムは難しいです。キャッシングにはさまざまなレベルがあります。I / O操作を行うと、Linux(カーネル)がデータをキャッシュし、そのキャッシュを管理するのが困難になります。たとえば、このcyanogenmodwikiページを参照してください。実際、このようなメカニズムに依存するべきではありませんが、代わりに、実行時間の長いテストを使用して、sdcardのパフォーマンスを確認します。

ファイルシステムのベンチマークを実行している長期的なプロジェクトをチェックすることも非常に良い考えです。たとえば、iozoneです。

于 2012-11-08T20:50:14.423 に答える