私は組み込みLinuxシステム(Linux-5.10.24)を開発しており、UBI / UBIFSがファイルシステムとして使用されるストレージデバイスとしてネイティブNAND FLASHを持っています。
さて、圧縮の有無によるUBIFS性能を測定して比較しようとしているので、以下のようにテストをしてみました。
私の期待は、圧縮されたファイルの読み取り/書き込みが圧縮されていないよりも優れていないことです。
dd
UBIFSの読み取りと書き込みをテストするために使用されます。まずdd if=/dev/urandom of=/tmp/aaa bs=131072 count=128
、読み書きするファイルを生成するには実行してください。これが結果です。aaa
- UBIFSをマウントして圧縮を有効にします(デフォルトモード)。
Writing: 2.6MB/s, Reading: 8.3MB/s
- 圧縮なしのUBIFSマウント(-o compr = none)、
Writing: 2.7MB/s, Reading: 8.2MB/s
私は何度も試してみましたが、同様の結果が出ました。
驚いたことに、パフォーマンスは圧縮の有無に関係なく似ていました!- UBIFSをマウントして圧縮を有効にします(デフォルトモード)。
Cプログラムを使用して、圧縮の有無にかかわらずUBIBSからファイルを読み取るのにかかる時間を測定します。
テスト結果は次のとおりです。- 圧縮が有効な(デフォルトモード)UBIFSをマウントします
1707378112 bytes took 18134 ms
。 - 圧縮(-o compr = none)なしでUBIFSをマウントします
1707378112 bytes took 19222 ms
。
- 圧縮が有効な(デフォルトモード)UBIFSをマウントします
驚くべきことに、圧縮されたファイルは圧縮されていないファイルよりも読みやすいです。
だから私のテストが正しいかどうか知りたいです。私のテスト結果は正しいですか?そうでなければ、圧縮の有無によるUBIFSの性能を測定/比較する正しい方法は何ですか?