lzbench icon indicating copy to clipboard operation
lzbench copied to clipboard

ZSTD Levels

Open indolering opened this issue 5 years ago • 2 comments

ZSTD expanded their range of compression levels to include negative integers. The current "max" (-5) pushes it into LZ4 territory. I would make a pull request, but I'm not sure how many additional levels you want to test by default.

indolering avatar Apr 28 '20 00:04 indolering

Currently -eall uses zstd,1,2,5,8,11,15,18,22. I would add -1, -3, -5 but it depends if there is a big difference in speed/ratio between these levels.

inikep avatar Apr 30 '20 11:04 inikep

Currently -eall uses zstd,1,2,5,8,11,15,18,22.

Why those breakpoints? #3 is the default speed and #19 is the highest before you have to add the --ultra flag....

I would add -1, -3, -5 but it depends if there is a big difference in speed/ratio between these levels

Fast mode beats Snappy and LZO on all counts, while -4 and -5 makes it competitive with LZ4. From the ZSTD 1.3.4 release notes:

name ratio compression decompression
zstd 1.3.4 --fast=5 1.996 770 MB/s 2060 MB/s
lz4 1.8.1 2.101 750 MB/s 3700 MB/s
zstd 1.3.4 --fast=4 2.068 720 MB/s 2000 MB/s
zstd 1.3.4 --fast=3 2.153 675 MB/s 1930 MB/s
lzo1x 2.09 -1 2.108 640 MB/s 810 MB/s
zstd 1.3.4 --fast=2 2.265 610 MB/s 1830 MB/s
snappy 1.1.4 2.091 530 MB/s 1820 MB/s
zstd 1.3.4 --fast=1 2.431 530 MB/s 1770 MB/s

indolering avatar May 03 '20 21:05 indolering