Rad bych se zeptal - jakych konkretnich parametru techto programu /algoritmu se dane srovnani tyka?
Bez toho ta tabulka neni moc vypovidajici.
Edit: Urcite by stalo za to minimalne uvest, co z toho je default, co maximalni komprese a co maximalni rychlost (a, treba u xz, na tom zavisejici systemove zdroje, kde si dokaze u vyssich nastaveni vzit rameti opravdu hodne).
21. 11. 2024, 00:11 editováno autorem komentáře
Při hledání maximálního kompresní poměru byly použity tyto parametry:
declare -A A=( [lz4]="-fk -12 -c" [lzop]="-fk -9 -c" [x]="-fk -9" [gzip]="-fk --best -c" [bzip2]="-fk -9 -c" [xz]="-fk -9 -e -c" [lzma]="-fk -9 -e -c" [zstd]="-fk --ultra -22 -c" [brotli]="-fk -q 11 -c" [bzip3]="-fk -c" [zopfli]="--i1000 -c" [lzop]="-fk -9 -c" )
Při zaměření na rychlost komprese:
declare -A A=( [lz4]="-fk -1 -c" [lzop]="-fk -1 -c" [x]="-fk -9" [gzip]="-fk --fast -c" [bzip2]="-fk --fast -c" [xz]="-fk -0 -e -c" [lzma]="-fk -0 -e -c" [zstd]="-fk --fast -c" [brotli]="-fk -q 0 -c" [bzip3]="-fk -c" )
Jsou tu kusy bashových skriptů.
Tak všude máte jiné parametry pro maximální rychlost a maximální kompresi kromě bzip3. Ten bzip3 má parametr -b: Set the block size to N mebibytes. The minimum is 1MiB, the maximum is 511MiB.
Výchozí hodnota je 16. Menší je rychlejší a větší zase větší komprese a spotřeba RAM.
Možná by pak v rychlosti nevycházel tak blbě jako starý zpaq. Na rozdíl od zpaq a bzip2 umí bzpi3 více vláken.
Provedl jsem krátký test se souborem xml. Původní velikost souboru je 5,1 MiB.
+-----------+----------+ | nastavení | velikost | +-----------+----------+ | -b 16 | 397 KiB | | -b 8 | 397 KiB | | -b 4 | 390 KiB | <-- nejmenší soubor (!) | -b 2 | 395 KiB | <-- stále menší než výchozí nastavení | -b 1 | 408 KiB | <-- větší cca o 3 % než výchozí nastavení +-----------+----------+
Čili neplatí, že větší -b znamená větší kompresi.
+-----------+--------------+ | nastavení | čas komprese | +-----------+--------------+ | -b 16 | 0m0,451s | <-- prezentováno v článku | -b 8 | 0m0,446s | | -b 4 | 0m0,416s | | -b 2 | 0m0,391s | | -b 1 | 0m0,387s | <-- 15 % zrychlení +-----------+--------------+
Čili je zde malý vliv parametru -b, ale podle tabulky srovnání rychlosti komprese (MiB/s) by nepohnul pořadím uvnitř sloupce pro xml.