CPDT Benchmark〉Storage, memory APP
CPDT(Cross Platform Disk Test)は、永続ストレージ(内部メモリ/ NAND / NVMe / UFS / SDカード)とシステムメモリ(RAM)のI / O速度を測定するパフォーマンスベンチマークアプリです。
このアプリには、Windows、macOS、Linuxがあり、デバイスやオペレーティングシステム間で一貫してテストを実行できます。これらは次のWebサイトからダウンロードできます:https://maxim-saplin.github.io/cpdt_results/?download
アプリ内結果データベースを使用すると、スマートフォンのパフォーマンスを他のAndroidスマートフォン(Samsung Galaxy Note 10、Xiaomi Redmi 7など)やさまざまなハードウェア(iPhone、Mac、Windows PC、Android TVプレーヤーなど)と比較できます。
ベンチマークスイートには、次の5つのテストが含まれています。
◉永続的なストレージテスト
┊
╰┄◎シーケンシャル書き込み
┊
╰┄◎シーケンシャルリード
┊
╰┄◎ランダム書き込み(4KBブロック)
┊
╰┄◎ランダム読み取り(4KBブロック)
◉RAMテスト
┊
╰┄◎メモリコピー
-テスト結果は、MB /秒(メガバイト/秒)で測定されたスループット値として示されます。
[オプション]メニューにはさまざまな設定があり、ユーザーは次のことを制御できます。
◉テストファイルサイズ
┊
╰┄◎0.5GB┄◎1GB┄◎2GB┄◎4GB┄◎8GB┄◎16GB
◉書き込みバッファリング
┊
╰┄◎オン┄◎オフ
◉インメモリファイルキャッシング
┊
╰┄◎オン┄◎オフ
順次テストの場合、アプリは時系列グラフを作成し、ランダムテストの場合はヒストグラムを作成します。テスト結果は、さらに分析するためにCSVにエクスポートできます(各行には、テストファイル内のブロック位置と測定されたスループットが含まれます)。
CPDTは他のアプリとどう違うのですか?最も人気のあるベンチマークは、CPU / GPU(Geekbench、AnTuTuなど)に焦点を当てており、ストレージのパフォーマンスを完全に無視しています。
ストレージとメモリのベンチマークでは、ユーザーが設定を変更できることはめったになく、テストファイルサイズの指定に制限されています。バッファリングまたはキャッシュを制御することはできません(例:Androbnech)、またはデバイスのリロードが必要です(例:A1SD)。
キャッシングは、テスト結果に大きな影響を与えるメカニズムです。オンの場合、テスト結果はRAM速度の影響を受け、そのようなテストで永続的なストレージパフォーマンスを分離することはできません。コールドリードのシナリオ(デバイスの起動やアプリケーションの初回起動など)は、キャッシュされた読み取りでは説明できません。同じ状況は、書き込みテストに影響を与えるバッファリングの場合です。バッファリングは、データをストレージに永続化する前に、データを一時的に保存するためにRAMを使用します。
CPDTは、キャッシュとバッファリングの両方を処理します。デフォルトでは、これらはオフになっているため、デバイスやオペレーティングシステム全体で永続的なストレージパフォーマンスを一貫して測定および比較できます。
ストレージとメモリのパフォーマンスが重要なのはなぜですか?これは、「知覚される」パフォーマンスのレベルに直接影響します。 UIのフリーズは、多くの場合、ストレージレベルでのスタッターによって説明できます。例えば。ディスクからのデータを要求するときにブラウザにロードされたWebページを表示する、ギャラリーアプリで画像をスクロールする(何千もの画像をスクロールすることをイメージする)、またはInstagramフィードを下る(以前にロードされた画像はディスクに保存されたキャッシュから要求されます)。
Chromebookユーザーは、GooglePlayを有効にした後にこのアプリを使用できます。 SD /メモリカードにアクセスするには、ChromeOSのGooglePlay設定でアプリに「ストレージ権限」が付与されている必要があります。
!OTGサポートは保証されません!外付けのカードリーダーまたはUSBフラッシュドライブをデバイスに接続すると、機能する場合と機能しない場合があります。例えば。 Android8を搭載したSamsungGalaxyS8およびAndroid10を搭載したNote10は正常に動作します。 Xiaomi Mi8SE(Android 9)、Meizu 16th(Android 8.1)、およびLG Nexus 5x(Android 6)は機能しません(ただし、システム内のドライブは引き続き表示されます)。何故ですか? Android OSには、外部接続されたストレージデバイスで動作する一貫したモデルがありません。一部のデバイスメーカー(Samsungなど)は、デバイスを適切にマウントし、デフォルトのAPI(Context.getExternalFilesDir())を介して利用できるようにすることで優れた仕事をしています。その他には、トリックや製造固有のAPIの実装が必要です。
このプロジェクトはオープンソースであり、GitHubのページにアクセスしてください。
https://github.com/maxim-saplin/CrossPlatformDiskTest