7-Zip-zstd icon indicating copy to clipboard operation
7-Zip-zstd copied to clipboard

Benchmark in Doku is quite old.

Open stefano2734 opened this issue 3 years ago • 11 comments

And with the new features and changes in zstd 1.5, there is some interest by results and possible regressions.

The documented benchmark is excellent, but perhaps quite long for all tests. An automatic benchmark script with comparison to older versions is also a part of a good quality system.

Here is an example of a newer test. https://bestofcpp.com/repo/facebook-zstd-cpp-compression

stefano2734 avatar May 21 '21 10:05 stefano2734

Yes, but currently I am short of time ... I wanted to update the benchmark in 2020 already :/

mcmilk avatar May 22 '21 07:05 mcmilk

Here's a start. I made an updated ratio vs speed chart, running benchmarks against the "generate-mcorpus" script that was used on the original, with version 1.5.0R2 x64 for a selection of the included compressors. I'd be glad to help with the rest of the benchmarks, just need a little time to set up the scripts & graphs.

Compression Ratio vs  Speed

HarvestSnowpaw avatar Dec 16 '21 13:12 HarvestSnowpaw

Thanks for this result. The scale is here not linear at x and tricky. so I see here compression like bzip2 with speed of lz4 for zstd. Only brotli is here near. Old Standard Deflate in most business and government is slow and with more space.

In 1.5.1 there are some performance improvements with 1.5.2 only bugfix. Also 1.5.5 have some improvements. So a new run with 1.5.5 is on the road for better results of zstd by new release.

stefano2734 avatar Jul 10 '22 08:07 stefano2734

@mcmilk Thank you for your great work on this project. I'd also be very happy if you'd update the benchmarks :)

dreamflasher avatar Apr 02 '23 17:04 dreamflasher

I do not have a windows pc in the moment.

mcmilk avatar Apr 02 '23 17:04 mcmilk

More than 2 years after begin of this issue the benchmark should run. Open Test by users can solve the problems of the author with time and equipment. How about a hardware contest with different new and older hardware by amd, Intel and others? Harvestsnowpaw made a test with 1.5.0 two years ago. So it is not impossible. issue #320 shows here weakness in code of 7zip. Benchmark is here a necessary detection tool.

stefano2734 avatar Aug 15 '23 15:08 stefano2734

When I get a chance, I'll update the benchmarks I did with the newest version of 7z-zstd. Thank you @stefano2734 for the note about the scale not being linear. The problem is that there is such a range of data, that otherwise the chart would be massive to account for all the speeds. I will still take a look and see if there's any way I can clean it up.

HarvestSnowpaw avatar Sep 07 '23 18:09 HarvestSnowpaw

When I get a chance, I'll update the benchmarks I did with the newest version of 7z-zstd. Thank you @stefano2734 for the note about the scale not being linear. The problem is that there is such a range of data, that otherwise the chart would be massive to account for all the speeds. I will still take a look and see if there's any way I can clean it up.

With non-linear scale, the user need an ideal line or milestones. By multiprocessor there is an ideal curve of perfect scaling. And by nonlinear scale also value lines of double or factor 4 can make better understanding. /

stefano2734 avatar Sep 07 '23 19:09 stefano2734

In Zstandard there is a actual benchmark with zstandard 1.5.6 and other compression codecs.

stefano2734 avatar Apr 01 '24 11:04 stefano2734

The mentioned benchmarks can be found here: https://github.com/facebook/zstd?tab=readme-ov-file#benchmarks – nice! Unfortunately, they are missing fastlzma2, lzlib, lzma).

They in return reference lzbench: https://github.com/inikep/lzbench – which has a bunch of additional libs, but is unfortunately outdated for zstd.

dreamflasher avatar Apr 01 '24 15:04 dreamflasher