Worse performance than SquashFS for small filesystems

Paul Spooren mail at aparcar.org
Tue May 31 04:41:34 AEST 2022


Hi,

I’m an OpenWrt developer and we work on an operation system for routers and overall network facing embedded devices. Since storage is often limited on our targeted devices we use SquashFS to compress everything, total image sizes are less than 10 MegaBytes.

Reading about erofs I’m very keen to adopt it for our case, however giving it a first try the storage performance seems to be significantly _worse_ than the default SquashFS implementation. Since you ran benchmarks in the past, could you give me advise if I’m missing anything?

For the test I used erofs-utils as of a134ce7c39a5427343029e97a62665157bef9bc3 (2022-05-17) and compressed the x86/64 root filesystem of a standard OpenWrt image[1]. I’m seeing a difference of one MegaByte which is about 30% worse in this context.

My test:

$ ./staging_dir/host/bin/mkfs.erofs -zlzma erofs.root ./build_dir/target-x86_64_musl/root-x86
mkfs.erofs 1.4
<W> erofs: EXPERIMENTAL MicroLZMA feature in use. Use at your own risk!
<W> erofs: Note that it may take more time since the compressor is still single-threaded for now.
Build completed.

$ mksquashfs -comp xz ./build_dir/target-x86_64_musl/root-x86 squashfs.root

$ ls -lh *.root
-rw-r--r-- 1 ubuntu ubuntu 4.3M May 30 20:27 erofs.root
-rw-r--r-- 1 ubuntu ubuntu 3.3M May 30 20:28 squashfs.root

Is erofs just not meant for such small storages?

Thanks for all further comments!

Best,
Paul

[1]: https://downloads.openwrt.org/snapshots/targets/x86/64/openwrt-x86-64-rootfs.tar.gz


More information about the Linux-erofs mailing list