EROFS filesystem testdata (part I)

Gao Xiang gaoxiang25 at huawei.com
Mon Aug 27 16:57:05 AEST 2018


Hi,

Here is the first part of the current EROFS filesystem testdata I just tested (2018/08/27).

Dataset: enwik8 (100000000 byte, 95.37MB) [1]

Test purpose: little extra memory consumption compared with SQUASHFS due to EROFS in-place decompression approach

Test environment: HUAWEI R&D cloud (Intel(R) Xeon(R) CPU E5-2690 v2 @ 3.00GHz * 8, 16GB RAM, Magnetic storage)
                  and tested in QEMU Virtual machine configured with -smp 4 -m 512M

Test program versions:
 mkfs-erofs (prelimitary huawei version) [2]
 mksquashfs version 4.3 (2014/05/12)
 mke2fs 1.42.9 (4-Feb-2014)

Linux kernel version:
 4.19 rc1

File sizes:
 orig           100000000 byte
 squashfs_4k     64884736 byte     (mksquashfs enwik8 enwik8_4k.squashfs.img -comp lz4 -Xhc -b 4096 -noappend)
 erofs_4k        61669376 byte [3] (mkfs.erofs.x86_64 -zlz4hc -d9 enwik8.erofs.img enwik8)
 squashfs_8k     59813888 byte     (mksquashfs enwik8 enwik8_8k.squashfs.img -comp lz4 -Xhc -b 8192 -noappend)
 squashfs_128k   44720128 byte     (mksquashfs enwik8 enwik8_128k.squashfs.img -comp lz4 -Xhc -noappend)

Teststeps:
 1) mount -t erofs/squashfs /dev/sdb /tmp
 2) time cat /tmp/enwik8 > /dev/null
 3) free
 4) poweroff & repeat

erofs_4k
 real(s)           3.00    3.78    3.69    3.54    3.57
 user(s)           0.02    0.02    0.02    0.02    0.02
 sys(s)            2.35    2.30    2.27    1.97    2.24
 mem_used(KB)    121520  122304  121820  121980  121464
 mem_free(KB)    370940  370156  370640  370480  370996

squashfs_4k
 real(s)          18.00   21.16   21.42   20.58   20.33
 user(s)           0.04    0.04    0.05    0.03    0.04
 sys(s)            5.08    5.81    5.87    5.54    6.01
 mem_used(KB)    185108  184596  184528  184504  184552
 mem_free(KB)    307352  307864  307932  307956  307908

squashfs_8k
 real(s)          15.78   15.47   15.52   14.22   15.21
 user(s)           0.03    0.02    0.03    0.02    0.02
 sys(s)            5.66    5.60    5.95    5.26    5.73
 mem_used(KB)    179400  179528  179480  179668  179748
 mem_free(KB)    313060  312932  312980  312792  312712

squashfs_128k
 real(s)           4.30    4.36    4.15    3.73    4.23
 user(s)           0.02    0.02    0.02    0.01    0.02
 sys(s)            3.67    3.76    3.59    3.24    3.68
 mem_used(KB)    165396  165692  166048  166004  165936
 mem_free(KB)    327064  326768  326412  326456  326524

ext4 [4]
 real(s)           0.56    0.43    0.59    0.44    0.47
 user(s)           0.03    0.01    0.03    0.02    0.02
 sys(s)            0.46    0.37    0.51    0.37    0.40
 mem_used(KB)    119560  120316  119676  119972  119740
 mem_free(KB)    372900  372144  372784  372488  372720

[1] In zip format: http://mattmahoney.net/dc/enwik8.zip
    Detailed description: http://mattmahoney.net/dc/textdata.html
[2] https://github.com/hsiangkao/erofs_mkfs_binary    (preview version, still buggy now)
[3] currently, EROFS supports VLE-4k only because it is useful and it will be used in our Android products.
[4] In order to monitor memory usage easily, QEMU is used but it has slow decompression speed.
    lzbench testdata (HUAWEI R&D cloud, lzbench -elz4)
     lzbench 1.7.3 (64-bit Linux)   Assembled by P.Skibinski
     Compressor name         Compress. Decompress. Compr. size  Ratio Filename
     memcpy                   2673 MB/s  2700 MB/s   100000000 100.00 enwik8/enwik8
     lz4 1.8.2                 289 MB/s  2144 MB/s    57262281  57.26 enwik8/enwik8
     done... (cIters=1 dIters=1 cTime=1.0 dTime=2.0 chunkSize=1706MB cSpeed=0MB)

    lzbench testdata (QEMU Virtual machine configured with -smp 4 -m 512M in HUAWEI R&D cloud, lzbench -elz4)
     lzbench 1.7.3 (64-bit Linux)   Assembled by P.Skibinski
     Compressor name         Compress. Decompress. Compr. size  Ratio Filename
     memcpy                    632 MB/s   768 MB/s   100000000 100.00 /tmp/enwik8
     lz4 1.8.2                  15 MB/s    39 MB/s    57262281  57.26 /tmp/enwik8
     done... (cIters=1 dIters=1 cTime=1.0 dTime=2.0 chunkSize=1706MB cSpeed=0MB)


Thanks,
Gao Xiang


More information about the Linux-erofs mailing list