我正在开发一个嵌入式Linux系统(Linux-5.10.24),并且有一个原始的NAND FLASH作为存储设备,其上使用UBI/UBIFS作为文件系统。
现在我正在尝试测量和比较有压缩和没有压缩的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 程序测量在压缩和不压缩的情况下从 UBIFS 读取文件的耗时。
这是测试结果。- 挂载 UBIFS 并启用压缩(默认模式),读取
1707378112 bytes took 18134 ms
. - 在不压缩的情况下挂载 UBIFS (-o compr=none),读取
1707378112 bytes took 19222 ms
.
- 挂载 UBIFS 并启用压缩(默认模式),读取
令我惊讶和出乎我意料的是,压缩的文件读取比不压缩的更好。
所以我想知道我的测试是否正确。我的测试结果是否正确?如果不是,测量/比较有压缩和没有压缩的 UBIFS 性能的正确方法是什么?