23 May 2022

Solaris 11.4 SRU45 (May 2022) - zstd compression utility

Solaris 11.4.45 includes now the zstd compression utility.

-bash-5.1$ zstd -V
*** zstd command line interface 64-bits v1.5.0, by Yann Collet ***

To compare I have a Oracle DB19c home as a tar file.
I executed this tests on a SPARC S7 LDom with 1 core

# ls -lh 19c.tar
-rw-r--r--   1 root     root       6.66G May 23 17:36 19c.tar

zstd does a higher compression compared to lz4, but takes
more time.

# time zstd 19c.tar -o 19c.tar.zstd
19c.tar              : 39.24%   (7153274368 => 2806612298 bytes, 19c.tar.zstd)

real    3m26.408s
user    3m29.804s
sys     0m6.698s

# time lz4 19c.tar
Compressed filename will be : 19c.tar.lz4
Compressed 7153274368 bytes into 3629706666 bytes ==> 50.74%

real    2m35.092s
user    2m25.227s
sys     0m6.852s

# ls -lh 19c.tar.lz4 19c.tar.zstd
-rw-r--r--   1 root     root       3.38G May 23 17:36 19c.tar.lz4
-rw-r--r--   1 root     root       2.61G May 23 18:14 19c.tar.zstd

With decompression zstd is a bit faster than lz4.

# time unlz4 19c.tar.lz4
Decoding file 19c.tar
19c.tar.lz4          : decoded 7153274368 bytes

real    2m9.913s
user    1m23.008s
sys     0m8.339s

# time unzstd 19c.tar.zstd
19c.tar.zstd        : 7153274368 bytes

real    1m52.263s
user    1m1.836s
sys     0m9.236s


  1. Why?? Solaris 11.4.45 is only a few days old

  2. Performance may improve for some cases once the changes from zstd 1.5.1 & 1.5.2 are brought in, according to the change log entries for those releases on https://github.com/facebook/zstd/releases . That work is being looked at for a future SRU now, under Oracle Bug 34184252.