777.zstd
Data compression/decompression
The open source project zstd has had many contributors; see the list at https://github.com/facebook/zstd/graphs/contributors.
Zstandard, or zstd as short version, is a fast lossless compression algorithm, targeting real-time compression scenarios at zlib-level and better compression ratios. It's backed by a very fast entropy stage, provided by Huff0 and FSE library. Zstandard's format is stable and documented in RFC8878. Multiple independent implementations are already available. This repository represents the reference implementation, provided as a library and a command line utility.
The benchmark runs zstd's internal benchmark mode for fixed number of iterations, measuring both compressing speed and decompressing speed at various compression levels.
code is derived from version 1.5.6 of zstd.
The code has been altered from original distribution in few aspects
(all under SPEC pre-processor define):
The benchmark options used for each workload are in a "control" file in each workload input directory, which specifies the command-line options for the zstd executable, as well as the input file (if any).
The following command line options are used by the benchmark. There
are many others; for details run the benchmark executable with the
--help option.
--verbose: Selects verbose output-b<i>: selects benchmark mode using compression
level <i> (default: 3)-e<j>: test all compression levels successively
from <i> (specified with -b) to <j> (default:
1)-i<n>: sets number of iterations of the benchmark
loop to run (default: 3). Note - this behavior is specific, due to the
change in the timing routinesThe refrate workloads are designed to provide a robust
and balanced test of system performance. The specific compression levels
and input data were chosen based on the following rationale:
-b3 through -b19) intentionally target
a wide variety of Zstandard's internal compression strategies. This
ensures the benchmark exercises a broad range of its codebase and
exhibits a range of microarchitectural behaviors.-i) for each workload was tuned on the SPEC Development
Reference Machine. This balancing ensures that each compression strategy
contributes a roughly equal weight to the final benchmark score,
preventing any single workload from dominating the result.cld.tar is a diverse archive containing a mix of files
reflecting a variety of real-world data types. More details are
below.--verbose is used on every workload and will not be
included in the table below.
| Workload | Arguments | Input Files |
|---|---|---|
| test | -b3 -i1 |
None |
| train | -b3 -e12 -i10 |
None |
| refrate (#1) | -b3 -e3 -i40 |
cld.tar |
| refrate (#2) | -b5 -e5 -i25 |
cld.tar |
| refrate (#3) | -b7 -e7 -i12 |
cld.tar |
| refrate (#4) | -b10 -e10 -i6 |
cld.tar |
| refrate (#5) | -b14 -e14 -i4 |
cld.tar |
| refrate (#6) | -b16 -e16 -i1 |
cld.tar |
| refrate (#7) | -b18 -e18 -i1 |
cld.tar |
| refrate (#8) | -b19 -e19 -i1 |
cld.tar |
The data file used for the refrate workload (cld.tar) is
an archive consisting of commonly used files, such as documents (HTML,
PDF, PostScript, and text), source code, binaries, images, and
compressed files. Specifically:
The output file contains a line for each compression level tested, giving the compression level, number of compressed bytes, compression ratio, pseudo performance metrics, and the data source. The performance metrics claim to be measuring compression performance in MB/s, but as the benchmark does not do internal timing, and the number of benchmark iterations is constant, these numbers also do not change from system to system.
C
The SPECrate version is single-threaded. There is no SPECspeed version.
None
zstd is offered under either the BSD or GPLv2 licenses. SPEC is using it under the BSD license.
For the refrate workload:
redistributable_sources/modified/tools.src/filepp-1.8.0.tar.gzCopyright © 2026 Standard Performance Evaluation Corporation (SPEC®)