[Решено] Сборка ядра на 512Мб, Zstd error

jim945
Для случая. Один раз упаковал, потом пользуйся. XZ остаётся лучшим.
из свободного да. но я бы сказал 7zip.
а ты проверял проприетарщину rar?
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
nafanja
про pigz я не могу говорить, оно не внедрено!
pacman -Ss pigz
community/pigz 2.6-1
    Parallel implementation of the gzip file compressor
pigz - это современный gzip, точнее, как пишут в DOC, является полностью функциональной заменой gzip, но вся фишка в том, что используется многопоточность (распаралеливание процесса - использует несколько процессоров/ядер). Но есть опция, которая запрещает многопоточность и получится почти тот же gzip.
Если не изменяет память, то данные по дефолту разбиваются на блоки по 128 КБ, каждый из которых сжимается параллельно. Результаты на разном железе, думаю, будут отличаться.

А вот с распаковкой не все так однозначно - в тонкости не вникал, но запомнилась фраза - Распараллеливание при распаковке невозможно … ??? ... возможно не верно перевел или не понял … хотя там же ниже было написано, что помимо основного потока для распаковки создается еще 3 потока: для чтения, записи и проверки вычислений … вообщем нужно было разбираться, но желания особого не было.

PS 1 - кстати в одном из источников были приведены результаты сжатия файла размером около 1G - pigz проделал сжатие в 2 раза быстрее gzip
PS 2 - и да, на сегодняшний день pigz считается одним из самых быстрых упаковщиков.

EDIT 1 - вот что точно пишут в части распаковки
Decompression can’t be parallelized, at least not without specially prepared deflate streams for that purpose. As a result, pigz uses a single thread (the main thread) for decompression, but will create three other threads for reading, writing, and check calculation, which can speed up decompression under some circumstances.
Ошибки не исчезают с опытом - они просто умнеют
vasek
pigz считается одним из самых быстрых
Это врядли, с версии 1.4.4 zstd очень прибавил и в скорости и в степени сжатия и дефакто может считаться оптимальным выбором.
PS. По скорости snappy и lz4 - очень хорошо, но со степенью сжатия у них слабовато. Можно здесь табличку глянуть.
nafanja
из свободного да. но я бы сказал 7zip.
7zip это просто архиватор.
Если ты имеешь ввиду lzma, то xz этот тот же lzma но с поддержкой линуксовых прав и т.д.

Мне нужна полная функциональность. К рар это тоже относится.
Lupus pilum mutat, non mentem.
anode
Это врядли, с версии 1.4.4 zstd очень прибавил и в скорости и в степени сжатия и дефакто может считаться оптимальным выбором.
Не буду спорить, просто выскажу свое видение нюансов с архиваторами ...
Существует два типа наиболее распространенных архиваторов
- на основе алгоритма Deflate, которые обеспечивают высокую скорость сжатия - это, например, gzip, zip
- на основе алгоритма LZMA, которые обеспечивают высокую степень сжатия - это, например, 7zip
Следует отметить, что архиваторы gzip, zip (алгоритм Deflate), имеют и неплохую скорость степень сжатия, а вот архиваторы на основе алгоритма LZMA хоть и имеют высокую степень сжатия, но вот скорость сжатия низка.
Далее развитие архивации пошло не глобально, а внутри из каждого типов архивации
- 1-ым добился улучшения алгоритм Deflate - использовал многопоточность … и появился pigz (кстати более 10 лет назад), который еще больше увеличил скорость сжатия, а учитывая, что gz и gzip обладали и не плохой степенью сжатия, то pigz стал самым лучшим … хотя по политическим мотивам признания не получил.
- алгоритм LZMA долго не мог получить улучшения и проигрывал даже простому gz, не говоря уже о pigz …. но после упорного труда все-таки появился на свет zstd и цель была достигнута - zstd сжимает и лучше и быстрее …. но вот нюанс - из-за политики забывают о pigz - из-за использования многопоточности по скорости сжатия обойти его всеравно не удалось - только приблизились (не забываем, что количество процессоров/ядер все возрастает, а это только дает преимущесту pigz) … конечно, по степени сжатия pigz проигрывает zstd, но не так уж и сильно.
Хотя, по честному, разница между ними не такая уж и большая … но не хотят везде совать pigz - тонкости этой политики не знаю, но, похоже, кому то из шишек он не нравится ...

EDIT 1 - в наш век скорости важнее объемов ...

EDIT 2 - исправил описку .... "имеют и неплохую скорость степень сжатия"
Ошибки не исчезают с опытом - они просто умнеют
В тестинге уже 1.5.0. обещают на 5-12 уровне от25% до 100% увеличения скорости сжатия на тестовом файле selesia.tar. Мультипоточность по умолчанию динамической б-ки libzstd.so и так по мелочам, типа меньше 1% увеличение сжатия на 22 уровне.
Вообщем не поленился, проверил ... и был очень впечатлен работой zstd ... правда файл был легкий, текстовый, но всеравно впечатлило
Создал текстовый файл
stat -c%s ~/Загрузки/TEST.txt
405932989 ~ 400М

1. Упаковка pigz (все по дефолту) ... около 25с, степень сжатия около 4
date; pigz ~/Загрузки/TEST.txt; date
Вт 18 мая 2021 20:18:14 MSK
Вт 18 мая 2021 20:18:40 MSK
stat -c%s ~/Загрузки/TEST.txt.gz
106020941

2. Упаковка zstd (все по дефолту) ... около 1с, степень сжатия около 35
date; zstd ~/Загрузки/TEST.txt; date
Вт 18 мая 2021 20:23:15 MSK
Вт 18 мая 2021 20:23:16 MSK
stat -c%s ~/Загрузки/TEST.txt.zst
10986677

Даже не верится и засомневался - может у меня не работает многопоточность? ... жалею, что удалил исходный файл, нужно было сравнить с gz
Вот что значит давно не занимался упаковкой .... тогда становится все понятно в части zstd ...

EDIT 1 - честно скажу, относился к zstd не серъезно, как то проверил его, но на маленьком файле и особо не впечатлил, а вот на большом файле впечатлило.
Ошибки не исчезают с опытом - они просто умнеют
vasek
в наш век скорости важнее объемов …
Попробуйте lz4 от того же Yann Collet. zstd - просто черепаха.
Не дают покоя результаты, не было такого раньше ... вообщем для достоверности решил проверить не на текстовом файле, а на тяжелом - для теста взял initramfs-linux-lts.img, который упакован zstd (первые 4 байта файла равны 28 b5 2f fd) - распаковал, получился файл initramfs-linux-lts размером 20613120 byte, смотрим первые 10 строк, то есть убеждаемся, что распаковали верно
lsinitcpio initramfs-linux-lts | head -10
VERSION
bin
buildconfig
config
dev/
etc/
etc/fstab
etc/initrd-release
etc/ld.so.cache
etc/ld.so.conf
… ну и упаковываем обратно
1. zstd
время упаковки - 2с, степень сжатия - 2,57
2. pigz
время упаковки - 1с, степень сжатия - 2,64
Вот на тяжелом, хоть и не большом файле, победил pigz (что я раньше и наблюдал) …. то есть не все так однозначно, нужно смотреть что за файл ...
Ошибки не исчезают с опытом - они просто умнеют
anode, а как так получается ты говоришь одно
anode
Это врядли, с версии 1.4.4 zstd очень прибавил и в скорости и в степени сжатия и дефакто может считаться оптимальным выбором.
а потом другое
anode
Попробуйте lz4 от того же Yann Collet. zstd - просто черепаха.
я не могу врубится в твой ход мысли...
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
 
Зарегистрироваться или войдите чтобы оставить сообщение.