URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 113229
[ Назад ]

Исходное сообщение
"Релиз gzip 1.9"

Отправлено opennews , 08-Янв-18 10:49 
После почти двух лет разработки состоялся (http://savannah.gnu.org/forum/forum.php?forum_id=9049) релиз утилиты для сжатия данных gzip 1.9 (http://www.gnu.org/software/gzip/). По сравнению с прошлым выпуском внесено 53 изменения.

Наиболее заметные изменения:

-  Удалён код для поддержки платформ VMS и Amiga, который был неработоспособен и создавал проблемы из-за различий в требованиях к именам файлов с платформой Windows;
-  В реализации команды "gzip -d -S SUFFIX fileSUFFIX" устранена проблема, мешающая использованию вместо  расширения ".gz" символа в верхнем регистре, например, "gzip -d -S T fileT";
-  Устранены проблемы с обработкой нулевых областей в коде конца блока при распаковке данных в формате 'pack';

-  В командах, реализованных через shell-скрипты, обеспечен более согласованный вывод ошибок. Например, 'gunzip --help >/dev/full' теперь приводит к выходу с кодом ошибки 1, вместо вывода кода предупреждения 2 на некоторых платформах;

-  Решены проблемы, возникающие при преобразовании между системным временем в формате  time_t и 32-разрядным беззнаковым форматом MTIME, используемым в gzip, при обработке моментов времени до 1970 и после
2106 на всех платформах, а также времени после 2038 года на платформах с  32-разрядным знаковым time_t. При выходе за границы допустимых значений вместо крахов и молчаливой установки максимального/минимального значения, теперь выводится предупреждение и нулевое значение времени при преобразования в  MTIME или максимально близкое при преобразовании в time_t.


URL: http://savannah.gnu.org/forum/forum.php?forum_id=9049
Новость: https://www.opennet.ru/opennews/art.shtml?num=47868


Содержание

Сообщения в этом обсуждении
"Релиз gzip 1.9"
Отправлено phrippy , 08-Янв-18 10:49 
Лучший компрессор по отношению скорость
/ степень сжатия

"Релиз gzip 1.9"
Отправлено sdfgsdg , 08-Янв-18 12:06 
откройте для себя libdeflate
https://github.com/ebiggers/libdeflate

"Релиз gzip 1.9"
Отправлено pavlinux , 08-Янв-18 21:32 
> откройте для себя libdeflate
>

ахриваторы для 3aдpoтoв, настоящие пoсаны прессуют руками.  


"Релиз gzip 1.9"
Отправлено Аноним , 09-Янв-18 04:06 
> ахриваторы для 3aдpoтoв

Gzip - компрессор, а не архиватор.


"Релиз gzip 1.9"
Отправлено pavlinux , 09-Янв-18 18:21 
>> ахриваторы для 3aдpoтoв
> Gzip - компрессор,

компрессор - это прибор для увеличения давления рабочей среды.  

>... а не архиватор.

https://en.wikipedia.org/wiki/File_archiver


"Релиз gzip 1.9"
Отправлено Аноним , 09-Янв-18 03:18 
Откройте для себя https://en.wikipedia.org/wiki/LZ4_(compression_algorithm)

"Релиз gzip 1.9"
Отправлено Аноним , 08-Янв-18 12:24 
pigz лучше, потому что многопоточен. 21 век, 2-ое десятилетие, а вы всё в один поток сжимаете. На ленту если, то это естественно, а на НЖД или твердотельный -- позор просто.

"Релиз gzip 1.9"
Отправлено имя , 08-Янв-18 14:58 
lbzip2 тогда уж лучше, если ядер не жалко.

"Релиз gzip 1.9"
Отправлено Grammar , 14-Янв-18 19:21 
А по-моему LZMA на скоростных настройках самый норм.

"Релиз gzip 1.9"
Отправлено Аноним , 08-Янв-18 13:25 
Сейчас лидер по отношению скорость / степень сжатия - ZSTD

"Релиз gzip 1.9"
Отправлено Аноним , 08-Янв-18 14:48 
Плохо сжимает.

"Релиз gzip 1.9"
Отправлено Аноним , 08-Янв-18 15:05 
Сжимает на таком же уровне как и zip в дефолтных режимах но при этом делая это в 1000 раз быстрее. Zstd это про очень быстую компресию и декомпресию, в не лонг тайм архивы.

"Релиз gzip 1.9"
Отправлено Аноним , 08-Янв-18 18:27 
> в дефолтных режимах

Вот именно, однако на не дефолтных все еще хуже, чем у gzip выше 1.


"Релиз gzip 1.9"
Отправлено Аноним84701 , 08-Янв-18 20:08 
>> в дефолтных режимах
> Вот именно, однако на не дефолтных все еще хуже, чем у gzip выше 1.


% zstd --version && pigz --version
*** zstd command line interface 64-bits v1.3.3, by Yann Collet ***
pigz 2.4

% du -b clang-check && echo this is tmpfs
50295304    clang-check
this is tmpfs

% time zstd -kf -T4 clang-check && time zstd -T4 -fd clang-check.zst
clang-check          : 36.34%   (50295304 => 18277404 bytes, clang-check.zst)  
zstd -kf -T4 clang-check  2,29s user 0,11s system 362% cpu 0,660 total
zstd -T4 -fd clang-check.zst  0,22s user 0,03s system 99% cpu 0,248 total

% time zstd -8kf -T4 clang-check && time zstd -T4 -fd clang-check.zst
clang-check          : 33.12%   (50295304 => 16657200 bytes, clang-check.zst)  
zstd -8kf -T4 clang-check  6,11s user 0,17s system 350% cpu 1,793 total
zstd -T4 -fd clang-check.zst  0,23s user 0,03s system 99% cpu 0,262 total

% time pigz -1kf -p4 clang-check && du -b clang-check.gz && time pigz -fd -p4 clang-check.gz              
pigz -1kf -p4 clang-check  2,56s user 0,06s system 384% cpu 0,683 total
20917773    clang-check.gz
pigz -fd -p4 clang-check.gz  0,46s user 0,06s system 127% cpu 0,406 total

% time pigz -3kf -p4 clang-check && du -b clang-check.gz && time pigz -fd -p4 clang-check.gz              
pigz -3kf -p4 clang-check  3,05s user 0,03s system 385% cpu 0,798 total
20084223    clang-check.gz
pigz -fd -p4 clang-check.gz  0,46s user 0,03s system 128% cpu 0,388 total

% time pigz -9kf -p4 clang-check && du -b clang-check.gz && time pigz -fd -p4 clang-check.gz                                
pigz -9kf -p4 clang-check  11,19s user 0,09s system 388% cpu 2,905 total
19011252    clang-check.gz
pigz -fd -p4 clang-check.gz  0,42s user 0,05s system 131% cpu 0,354 total


clang-check - это попавшийся под руку "XXL"-бинарник  
Можно взять более классическое:
https://github.com/dwyl/english-words/blob/master/words.txt

% repeat 10 cat words.txt >> words  
% du -b words
48629660    words

% time pigz -1kf -p4 words && du -b words.gz && time pigz -fd -p4 words.gz
pigz -1kf -p4 words  2,86s user 0,07s system 383% cpu 0,766 total
17584106    words.gz
pigz -fd words.gz  0,45s user 0,04s system 127% cpu 0,383 total

% time pigz -3kf -p4 words && du -b words.gz && time pigz -fd -p4 words.gz
pigz -3kf -p4 words  2,66s user 0,07s system 384% cpu 0,710 total
16477338    words.gz
pigz -fd words.gz  0,43s user 0,05s system 127% cpu 0,372 total

% time pigz -9kf -p4 words && du -b words.gz && time pigz -fd -p4 words.gz
pigz -9kf -p4 words  17,01s user 0,07s system 384% cpu 4,438 total
14679310 words.gz
pigz -fd words.gz  0,41s user 0,05s system 129% cpu 0,356 total

% time zstd -1kf -T4 words && time zstd -T4 -fd words.zst
words                : 36.30%   (48629660 => 17653676 bytes, words.zst)        
zstd -1kf -T4 words  1,47s user 0,12s system 363% cpu 0,439 total
zstd -T4 -fd words.zst  0,20s user 0,04s system 99% cpu 0,240 total

% time zstd -8kf -T4 words && time zstd -T4 -fd words.zst          
words                : 29.98%   (48629660 => 14579479 bytes, words.zst)        
zstd -8kf -T4 words  6,29s user 0,17s system 311% cpu 2,075 total
zstd -T4 -fd words.zst  0,23s user 0,06s system 101% cpu 0,290 total

В общем, не убедили.

ЗЫ:
Чисто для сравнения:


% time xz -9e words && du -b words.xz    
xz -9e words  199,43s user 1,26s system 99% cpu 3:21,11 total
1 235 472    words.xz
% time xz -d words.xz
xz -d words.xz  0,43s user 0,09s system 99% cpu 0,521 total

% time lrzip -f -z -L9 -p4 words && du -b words.lrz && time lrzip -p4 -df words.lrz
Output filename is: words.lrz
words - Compression Ratio: 68.015. Average Compression Speed:  2.000MB/s.
Total time: 00:00:23.12
lrzip -f -z -L9 -p4 words  22,73s user 0,48s system 100% cpu 23,132 total
714 986    words.lrz
Output filename is: words
Decompressing...
100%      46.38 /     46.38 MB  1:100%  2:100%  
Average DeCompression Speed:  2.190MB/s
Output filename is: words: [OK] - 48629660 bytes                                
Total time: 00:00:21.18
lrzip -p4 -df words.lrz  20,80s user 0,34s system 99% cpu 21,193 total



"Релиз gzip 1.9"
Отправлено Аноним , 08-Янв-18 20:40 
А ничего что у ZSTD 22 уровня сжатия, а у gzip всего-лишь 9-ть?

"Релиз gzip 1.9"
Отправлено Аноним84701 , 08-Янв-18 21:47 
> А ничего что у ZSTD 22 уровня сжатия, а у gzip всего-лишь 9-ть?

Ничего. А что должно быть? Зачем "задействовать" все уровни, если  с лихвой хватает первых 8? Все эти уровни вообще-то только определенный "preset", т.е. набор параметров сжималки , а не что-то мифическое.
Ну сделали в zstd аж 22, ну и бит с ними.
К тому же,  на моих данных (index файлов на 20МБ, sqlite3 дамп на 60МБ, образ виртуалок на пару-тройку GB, бэкап /, по мелочи еще что-то) уровни 11+ в zstd жрут время, но не особо лучше жмут.


"Релиз gzip 1.9"
Отправлено Аноним , 09-Янв-18 01:24 
Каждый следующий уровень компресии увеличивает время сжатия в геометрической прогресии, и абсолютно также сводит выигрыш по обьему к минимуму.

"Релиз gzip 1.9"
Отправлено Аноним , 08-Янв-18 20:41 
И да, "слова" и реальные данные это разные вещи.

"Релиз gzip 1.9"
Отправлено Аноним84701 , 08-Янв-18 22:15 
> И да, "слова" и реальные данные это разные вещи.

Бинарник – вполне реален. Еще можно взять либу того же ФФ.
Раньше гонял еще на куче реальных файлов, но не видел смысла делать подробный прогон и выкладку, т.к. не собираюсь выкладывать соотв. файлы. Хотя…


% du -b dump.sql3
61667131        dump.sql3

% time pigz -3kf -p4 dump.sql3 && du -b  dump.sql3.gz && time pigz -fd -p4 dump.sql3.gz
pigz -3kf -p4 dump.sql3  2,65s user 0,12s system 389% cpu 0,711 total
16663662        dump.sql3.gz
% time pigz -9kf -p4 dump.sql3 && du -b  dump.sql3.gz && time pigz -fd -p4 dump.sql3.gz
pigz -9kf -p4 dump.sql3  5,71s user 0,09s system 392% cpu 1,477 total
15431456        dump.sql3.gz

% time zstd -1kf -T4 dump.sql3
dump.sql3            : 22.50%   (61667131 => 13872822 bytes, dump.sql3.zst)    
zstd -1kf -T4 dump.sql3  1,09s user 0,10s system 354% cpu 0,335 total
% time zstd -3kf -T4 dump.sql3
dump.sql3            : 23.58%   (61667131 => 14539462 bytes, dump.sql3.zst)    
% zstd -3kf -T4 dump.sql3  2,65s user 0,14s system 367% cpu 0,761 total

% du -b LucidPuppy-520.vdi              
732991488    LucidPuppy-520.vdi

% time pigz -3kf -p4 LucidPuppy-520.vdi&& du -b  LucidPuppy-520.vdi.gz  
pigz -3kf -p4 LucidPuppy-520.vdi  30,08s user 0,95s system 390% cpu 7,954 total
234112973       LucidPuppy-520.vdi.gz

% time pigz -9kf -p4 LucidPuppy-520.vdi&& du -b  LucidPuppy-520.vdi.gz
pigz -9kf -p4 LucidPuppy-520.vdi  141,35s user 0,69s system 386% cpu 36,762 total
221347175    LucidPuppy-520.vdi

% time zstd -2kf -T4 LucidPuppy-520.vdi
LucidPuppy-520.vdi   : 30.28%   (732991488 => 221982005 bytes, LucidPuppy-520.vdi.zst)
zstd -2kf -T4 LucidPuppy-520.vdi  9,86s user 0,81s system 371% cpu 2,874 total

% time zstd -3kf -T4 LucidPuppy-520.vdi
LucidPuppy-520.vdi   : 28.86%   (732991488 => 211573286 bytes, LucidPuppy-520.vdi.zst)
zstd -3kf -T4 LucidPuppy-520.vdi  20,43s user 0,90s system 379% cpu 5,613 total

% du -b Straustrup4th.pdf
10830547        Straustrup4th.pdf

% time pigz -3kf -p4 Straustrup4th.pdf && du -b  Straustrup4th.pdf.gz
pigz -3kf -p4 Straustrup4th.pdf  0,70s user 0,02s system 365% cpu 0,199 total
3192908 Straustrup4th.pdf.gz
% time pigz -9kf -p4 Straustrup4th.pdf && du -b  Straustrup4th.pdf.gz
pigz -9kf -p4 Straustrup4th.pdf  1,87s user 0,02s system 383% cpu 0,494 total
2796891 Straustrup4th.pdf.gz

% time zstd -1kf -T4 Straustrup4th.pdf
Straustrup4th.pdf    : 28.12%   (10830547 => 3045654 bytes, Straustrup4th.pdf.zst)
zstd -1kf -T4 Straustrup4th.pdf  0,22s user 0,05s system 257% cpu 0,103 total
% time zstd -3kf -T4 Straustrup4th.pdf                                          
Straustrup4th.pdf    : 26.10%   (10830547 => 2827297 bytes, Straustrup4th.pdf.zst)
zstd -3kf -T4 Straustrup4th.pdf  0,31s user 0,05s system 234% cpu 0,151 total
% time zstd -6kf -T4 Straustrup4th.pdf
Straustrup4th.pdf    : 24.18%   (10830547 => 2619329 bytes, Straustrup4th.pdf.zst)
zstd -6kf -T4 Straustrup4th.pdf  0,54s user 0,04s system 134% cpu 0,432 total


"Релиз gzip 1.9"
Отправлено pavlinux , 09-Янв-18 18:41 
>>> в дефолтных режимах
>> Вот именно, однако на не дефолтных все еще хуже, чем у gzip выше 1.
>
 
>  % zstd --version && pigz --version
>

Ну и кому он нахрен упёрся?


"Релиз gzip 1.9"
Отправлено Аноним , 09-Янв-18 12:27 
Да уж лучше, чем gzip

"Релиз gzip 1.9"
Отправлено rumanzo , 12-Янв-18 01:53 
Скорее всего xz -0 сожмет быстрее с лучше :-)

"Релиз gzip 1.9"
Отправлено Аноним , 08-Янв-18 11:00 
brotli же лучше
https://certsimple.com/blog/nginx-brotli

"Релиз gzip 1.9"
Отправлено phrippy , 08-Янв-18 11:53 
Нет мана; ущербный синтаксис, несовместимый с остальными компрессорами; отсутствует поставка по умолчанию в дистрибутивах - если время, потраченное на решение этих проблем, доплюсовать к времени сжатия - то боюсь лучшим тут даже не пахнет. Вот когда будет нормальная реализация приложения - тогда и поговорим. Загуглить "что лучше gzip" всегда можно. Но будет ли это лучше на практике - далеко не факт.

"Релиз gzip 1.9"
Отправлено fmnz , 08-Янв-18 17:11 
Ты забыл про СЕКСИЗМ.

"Релиз gzip 1.9"
Отправлено Andrey Mitrofanov , 08-Янв-18 18:00 
#>>Нет мана;
> Ты забыл про СЕКСИЗМ.

ду*** шо ле?


"Релиз gzip 1.9"
Отправлено elreg , 09-Янв-18 11:20 
> #>>Нет мана;
>> Ты забыл про СЕКСИЗМ.
> ду*** шо ле?

Если бы...

https://www.theregister.co.uk/2015/10/11/googles_bro_file_fo.../


"Релиз gzip 1.9"
Отправлено Аноним , 08-Янв-18 12:09 
> brotli же лучше
> https://certsimple.com/blog/nginx-brotli

brotli это один из отвратительных on-the-fly компрессоров от гугла.


"Релиз gzip 1.9"
Отправлено Аноним , 08-Янв-18 13:30 
Бротли сильно от словаря зависит. Если характер твоих данных не подходит под выбранный словарь, то все плохо.

"Релиз gzip 1.9"
Отправлено Аноним , 09-Янв-18 12:28 
> brotli же лучше
> https://certsimple.com/blog/nginx-brotli

Слишком медленный для сжатия на лету, а если время не важно, то LZMA все ранво круче


"Релиз gzip 1.9"
Отправлено Аноним , 08-Янв-18 11:00 
zstd

"Релиз gzip 1.9"
Отправлено Аноним , 08-Янв-18 12:03 
lz4/lz5/lizard/zstd/xz

"Релиз gzip 1.9"
Отправлено Аноним84701 , 08-Янв-18 14:43 
> lz4/lz5/lizard/zstd/xz
> lz5/lizard

https://github.com/inikep/lizard/blob/lizard/NEWS
> - LZ5 v2.0 was renamed to Lizard v1.0

Ну и разница в скорости сжатия/распаковки (как и степени сжатия) cлишком уж большая, так что ниши использования lz4/lizard, zstd, xz довольно разные.


"Релиз gzip 1.9"
Отправлено Gannet , 08-Янв-18 11:13 
lzma

"Релиз gzip 1.9"
Отправлено A.Stahl , 08-Янв-18 11:45 
arj :)

"Релиз gzip 1.9"
Отправлено Аноним , 08-Янв-18 16:48 
Stari dobri arj :)

"Релиз gzip 1.9"
Отправлено Ю.Т. , 08-Янв-18 18:12 
старый добрый ICE, который лУчШе

"Релиз gzip 1.9"
Отправлено RobotsCantPoop , 09-Янв-18 13:42 
lha

"Релиз gzip 1.9"
Отправлено Аноним , 08-Янв-18 11:52 
Хз медленно сжимает, но намного лучше.

"Релиз gzip 1.9"
Отправлено Аноним , 08-Янв-18 12:28 
А вообще, включите в btrfs: chattr +c или btrfs filesystem defragment -r -v -clzo /home .

"Релиз gzip 1.9"
Отправлено Аноним , 08-Янв-18 13:27 
btrfs уже поддерживает zstd

"Релиз gzip 1.9"
Отправлено Pofigist , 08-Янв-18 19:49 
Уже никто не поддерживает btrfs...

"Релиз gzip 1.9"
Отправлено Мрак Цукерович , 09-Янв-18 05:52 
Facebook!

"Релиз gzip 1.9"
Отправлено aborodin , 08-Янв-18 12:32 
- gunzip --help >/dev/full
+ gunzip --help >/dev/null

"Релиз gzip 1.9"
Отправлено Аноним , 08-Янв-18 13:33 
Нет, именно /dev/full. Речь про код возврата при возникновении ошибки из-за отсутствия свободного места

"Релиз gzip 1.9"
Отправлено Имя , 08-Янв-18 13:37 
WinRar лучше

"Релиз gzip 1.9"
Отправлено EHLO , 08-Янв-18 13:40 
> WinRar лучше

Но Новый Год чаще


"Релиз gzip 1.9"
Отправлено Аноним , 08-Янв-18 14:35 
Значительно лучше! Чем ничего.

"Релиз gzip 1.9"
Отправлено хрюзер , 08-Янв-18 14:57 
Он был бы идеален, замени они в формате поле ISIZE (http://www.zlib.org/rfc-gzip.html) на переменной длинны или 64 битное. Но, из-за такой мелочи, формат применим ограничено, только в отдельных контейнерах, которых самих надо еще поискать адекватных.

"Релиз gzip 1.9"
Отправлено Аноним , 08-Янв-18 15:10 
Заменять нельзя, совместимость сломается. А вот добавить дополнительное поле могли бы.

"Релиз gzip 1.9"
Отправлено Аноним , 08-Янв-18 15:58 
Лучше xz -9e ничего не знаю. На скорость упаковки наплевать, пока она приемлима, главное чтобы сжатие было побольше.

"Релиз gzip 1.9"
Отправлено Аноним , 08-Янв-18 16:44 
> На скорость упаковки наплевать, пока она приемлима

/0?


"Релиз gzip 1.9"
Отправлено Аноним84701 , 08-Янв-18 17:28 
> Лучше xz -9e ничего не знаю.

lrzip -z -L9
zpaq -method 5
Это из тех сжималок, которые еще более-менее присутствуют в репах и, на не сильно топовом железе, жмут хотя бы со скоростью 0.3-0.5 MB/s.

Для желающих покопаться и поискать жемчужины есть еще:
http://mattmahoney.net/dc/text.html

Правда, там часть проприетарь, часть заброшенна, часть жрет слишком уж много ресурсов.
Ну и  в репах большей части сжималок естественно нема – придется собирать самому. Это не говоря о том, что  вас тогда будет 3,5 пользователя (что еще более ограничивает юзкейзы).
В общем, сильно на любителя.


"Релиз gzip 1.9"
Отправлено Виталий , 08-Янв-18 18:50 
Универсальный архиватор тот в котором можно при сжатии задать скорость потока mb/s так как в разных ситуациях требуются разные качества архиватора

"Релиз gzip 1.9"
Отправлено angra , 08-Янв-18 21:08 
Главное, чтобы он был запущен на универсальном компьютере с универсальным процессором и универсальной памятью. А то на мерзких реальных компьютерах эти ресурсы мало что ограничены, так еще и их доступность может меняться в процессе работы универсального архиватора.

"Релиз gzip 1.9"
Отправлено Аноним , 10-Янв-18 21:59 
Держи: https://github.com/facebook/zstd/tree/dev/contrib/adaptive-c...

"Релиз gzip 1.9"
Отправлено Аноним , 08-Янв-18 20:30 
>Удалён код для поддержки платформ VMS и Amiga.

Теперь не соберётся в Aros?


"Релиз gzip 1.9"
Отправлено Аноним , 09-Янв-18 09:37 
Сабж почти так же хорош, как и lzip (plzip) http://www.nongnu.org/lzip/
Конечно, надо отдать дедушке должное!