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

Reply via email to