On Sun, Jan 12, 2020 at 5:46 PM Bohdan Khomutskyi <bkhomuts@redhat.com> wrote:

I posted more benchmark results in this article: https://fedoraproject.org/wiki/Category:Changes/OptimizeSquashFS

In short, bigger block size and higher compression ratio does not increase the installation time for Fedora Workstation.  I saw the opposite effect.
The Zstd compression performed worse than XZ in the compression test. On the other hand, 40% lower installation time for Zstd, was documented. Along with the CPU consumption 37% lower.
All installation tests were performed from and to local NVMe storage. Which I consider far from real life scenario.

This is very interesting, thank you!

The "CPU user time" should be independent on the number of CPU cores you have, is that correct? I.e. the number should be always roughly the same, whether you run it on 1 core, 2 cores or 8 cores, right? I'm asking because our QA tests often use 1-2 cores for installation, and I assume you used all your available cores (if I read it correctly, you seem to have a 4 core system), therefore the "real time" value is applicable just to your system, but the "cpu user time" should be better comparable to other systems.

How exactly did you measure those numbers, can you please provide reproduction steps?

I'm quite surprised that plain squashfs is a bit smaller, but also a bit slower than squashfs+ext4. Our expectations were that it would be faster.

Looking at compressions, the most interesting results for me are:
-comp xz, without -Xbcj x86 --- cutting CPU time by 50% at the expense of 30MB is awesome
-Xdict-size 1M -b 1M, without -Xbcj x86 (optionally with hardlinking) --- 33% speedup while also saving 110 MB
-comp zstd -Xcompression 15 -b 1M --- blazing fast installation with cutting CPU time by 80%, but also increasing the size by 150 MB

I'm sure different people will have different priorities regarding size and installation time, but these are really interesting numbers, thanks for benchmarking.