LINUX.ORG.RU

lzo, например

anonymous
()

Какой оптимальный архиватор для этого

Любой.

King_Carlo ★★★★★
()

compress берет файл и сжимает его до минимально возможного размера, создает сжатый файл результата и удаляет исходный файл, если не указана опция -c. Сжатие достигается за счет кодирования часто встречающихся в файле строк

artb1sh
()

код Хаффмана, например. Жадный алгоритм сжатия.

TakeOver
()

Всё вопрос закрыт, gzip/bzip2 оказались самыми быстрыми и дают >200 мб/сек, а lzma/xz пролетают как фанера над Парижем, с нулями работать не умеют, скорость 2-3 мб/сек.

steemandlinux ★★★★★
() автор топика
Ответ на: комментарий от steemandlinux

Попробовал бы ешё lzop, как первонах советовал. Должно быть ещё быстрее *zip-ов.

varchar
()
Ответ на: комментарий от steemandlinux

200mb/s это не так много

time (dd if=/dev/zero bs=1M count=10240 |./qpress -i test.bin test.bin.qp)
10240+0 records in
10240+0 records out
10737418240 bytes (11 GB) copied, 8.13476 s, 1.3 GB/s

real	0m8.137s
user	0m12.532s
sys	0m6.312s

du -h test.bin.qp 
132M	test.bin.qp

ihanick
()

Если они сплошные, то имеет смысл только их и сжимать, с помощью RLE. На этой странице даже есть исходные коды, из которых можно быстренько склепать компрессор.

Это будет намного быстрее, чем алгоритмы типа deflate/lzo.

uuwaan ★★
()

Есть процессор 4 ядерный

Судя по ответам на это никто внимания не обратил. bzip говорит, что он многопоточный, но я насчёт этого ничего не скажу. 7z реально пакует на нескольких ядрах.

ziemin ★★
()
Ответ на: комментарий от ihanick

Круто, что за компрессор такой «qpress», свой?

Мои тесты:

dd if=/dev/zero bs=1M count=10000 | packer > test.*

lzop -1 -o test.lzo
22.0327 s, 476 MB/s
46M     test.lzo

gzip -1 > test.gz
71.7865 s, 146 MB/s
44M     test.gz

xz -0 > test.xz
148.003 s, 70.8 MB/s
1.5M    test.xz

bzip2 -1 > test.bz2
151.287 s, 69.3 MB/s
64K     test.bz2
varchar
()
Ответ на: комментарий от ihanick

qpress/quicklz — впечатляет.

Гугловская snappy обещает быть ещё быстрее:

Snappy usually is faster than algorithms in the same class (e.g. LZO, LZF, FastLZ, QuickLZ, etc.) while achieving comparable compression ratios.

Но будучи обёрнутой в питон не раскрылась на полную:

dd if=/dev/zero bs=1M count=10000 | python3 -m snappy -c > test.snappy
10000+0 records in
10000+0 records out
10485760000 bytes (10 GB) copied, 54.2984 s, 193 MB/s
$ du -h test.snappy 
471M    test.snappy

Может с С++ным комманд лайнером блеснула бы...

varchar
()
Ответ на: комментарий от artb1sh

compress берет файл и сжимает его до минимально возможного размера

даа, lzma посасывает в сторонке

anonymous
()

Какой оптимальный архиватор для этого существует?

md5sum
А серьезно — адаптивный алгоритм Хаффмена или lzw, lzma какие нибудь

comp00 ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.