Evaluate compression

Evaluate which compression works best for file content Usage: qft evaluate-compression [OPTIONS] --input-file <INPUT_FILE> Options: Evaluate which compression works best for file content Usage: qft evaluate-compression [OPTIONS] --input-file <INPUT_FILE> Options: -i, --input-file <INPUT_FILE> --omit [<OMIT>...] List of compression formats to omit from evaluation [possible values: bzip2, gzip, lz4, xz] --omit-levels [<OMIT_LEVELS>...] List of compression levels to omit from evaluation -j, --threads <jobs> The number of threads to use to evaluate compression (1 = sequential), the default is calculated from the available CPUs on the host [default: 14] -v, --verbose... Pass many times for more log output -q, --quiet Silence all log output, this will lead to better performance [env: QFT_QUIET=] --color=<WHEN> [default: auto] [possible values: auto, always, never] -h, --help Print help (see more with '--help') Print help (see more with '--help')

Demo

evaluate-compression demo

Example with output

Evaluate compression of Cargo.lock. Omit gzip and most compression levels to make this example brief.

qft evaluate-compression --input-file Cargo.lock --omit gzip --omit-levels 0 2 3 4 5 6 7 8
╭────────────────────┬───────────────────┬───────────────────────┬─────────────────────────╮ │ ┆ Best Ratio ┆ Best Compression Time ┆ Best Decompression Time │ ╞════════════════════╪═══════════════════╪═══════════════════════╪═════════════════════════╡ │ Format ┆ Bzip2 ┆ Lz4 ┆ Lz4 │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │ Compression level ┆ 1 ┆ - ┆ - │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │ Compression Ratio ┆ 4.56:1 ┆ 2.42:1 ┆ 2.42:1 │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │ Encode/decode time ┆ 2.36ms/686.34µs ┆ 83.29µs/32.53µs ┆ 83.29µs/32.53µs │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │ Compressed Size ┆ 7.36 KiB [7533 B] ┆ 13.83 KiB [14163 B] ┆ 13.83 KiB [14163 B] │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │ % of Original ┆ 21.94% ┆ 41.25% ┆ 41.25% │ ╰────────────────────┴───────────────────┴───────────────────────┴─────────────────────────╯ ==> Short summary Best Compression Ratio: Bzip2[1] Compression/Decompression: 2.36ms/ 686.34µs 4.56:1 (21.94% of original) Best Compression Time: Lz4 Compression/Decompression: 83.29µs/ 32.53µs 2.42:1 (41.25% of original) Best Decompression Time: Lz4 Compression/Decompression: 83.29µs/ 32.53µs 2.42:1 (41.25% of original)