On 2025/1/17 15:46, Gao Xiang wrote:
Difference from the previous Yiyan's version [1], it just uses
a tmpfile to keep all decompressed data for fragments.

Dataset: linux 5.4.140
mkfs.erofs command line:
        mkfs.erofs -zlzma -C131072 -T0 -Eall-fragments,fragdedupe=inode foo.erofs 
<dir>
Test command line:
        hyperfine -p "echo 3 > /proc/sys/vm/drop_caches; sleep 1" "fsck/fsck.erofs 
--extract foo.erofs"

Vanilla:
   Time (mean ± σ):     362.309 s ±  0.406 s   [User: 360.298 s, System: 0.956 
s]

After:
   Time (mean ± σ):     20.880 s ±  0.026 s    [User: 19.751 s, System: 1.058 s]

An in-memory LRU cache could also be implemented later to
meet different needs.


[1] https://lore.kernel.org/r/20231023071528.1912105-1-lyy0...@sjtu.edu.cn
Cc: Li Yiyan <lyy0...@sjtu.edu.cn>
Signed-off-by: Gao Xiang <hsiang...@linux.alibaba.com>

Reply via email to