LINUX.ORG.RU

Компрессия


3

0

Всего сообщений: 14

ZXC 0.13.0 и 0.13.1

 , , , ,

Группа Open Source

14 и 15 июля, после почти месяца разработки, состоялись выпуски 0.13.0 и 0.13.1 SIMD-оптимизированной библиотеки и кроссплатформенной консольной утилиты ZXC (github.com), реализующих высокопроизводительное многопоточное асимметричное сжатие без потерь и оптимизированное для игровых ресурсов, прошивок и пакетов приложений. Формат разработан по принципу «один раз записать, многократно читать» (WORM).

В отличие от таких кодеков, как LZ4, ZXC жертвует скоростью сжатия ради максимальной пропускной способности при распаковке.

Декларируется скорость распаковки на 9-48% выше, чем у LZ4 с уровнем компрессии по умолчанию, с равным или более высоким коэффициентом сжатия.

Главное изменение этих версий — новый уровень сжатия 7 (ультра) с использованием сравнительно недавно опубликованным SIMD-оптимизированным алгоритмом PivCo-Huffman («pivot-coded Huffman») (репозиторий), который позволяет превысить коэффициент сжатия zstd (-1), при этом скорость декодирования остаётся примерно в 2 раза выше, чем у zstd. Энтропийное декодирование было переработано, что позволило увеличить её скорость на уровне 6 на 5–13% на всех эталонных процессорах.

Формат контейнера обновлён до версии 7 и это последнее запланированное изменение формата. Версия 0.13 является последним этапом перед выпуском версии 1.0, в которой формат контейнера ZXC будет зафиксирован, что обеспечит его стабильность и обратную совместимость.

Проект написан на языке C и распространяется по лицензии BSD 3.

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()

ZXC 0.12.0

 , , , ,

Группа Open Source

18 июня, после более месяца разработки, состоялся выпуск 0.12.0 библиотеки и кроссплатформенной консольной утилиты ZXC (github.com), реализующих высокопроизводительное многопоточное асимметричное сжатие без потерь и оптимизированное для игровых ресурсов, прошивок и пакетов приложений. Формат разработан по принципу «один раз записать, многократно читать» (WORM).

В отличие от таких кодеков, как LZ4, ZXC жертвует скоростью сжатия ради максимальной пропускной способности при распаковке.

Декларируется скорость распаковки на 10-47% выше, чем у LZ4 с уровнем компрессии по умолчанию, с равным или более высоким коэффициентом сжатия.

Главное изменение этого выпуска – возможность сжатия с использованием предварительно обученного словаря на основе репрезентативных образцов, что значительно уменьшает размер архивов с небольшими блоками или большим количеством маленьких файлов.

Версия формата контейнера обновлена до v6, а версия библиотеки SOVERSION увеличена с 3 до 4.

Проект написан на языке C и распространяется по лицензии BSD 3.

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()

lzbench 2.3

 , , , ,

Группа Open Source

Спустя почти восемь месяцев состоялся выпуск 2.3 консольной утилиты lzbench, предназначенной для сравнения многих популярных алгоритмов компрессии и декомпрессии (их список можно получить командой lzbench -l).

Утилита написана на языках C, С++, Rust и Zig, и распространяется по лицензии GNU GPL 2 или 3 — на ваш выбор.

Изменения:

  • группы псевдонимов компрессоров были реорганизованы по типу — группа ALL теперь представляет собой объединение групп LZ, SYMMETRIC и MISC; кодеки BWT/PPM (bsc, bzip2, bzip3, ppmd8) перенесены в группу SYMMETRIC, а kanzi разбит по алгоритмам на отдельные уровни между группами LZ и SYMMETRIC.
  • добавлены псевдонимы FASTEST (все компрессоры ALL только с максимальной скоростью) и SLOW для очень медленных компрессоров (glza).
  • кодеки CUDA теперь по умолчанию отключены и компилируются только при указании параметра ENABLE_CUDA=1.
  • кодек BSC теперь обрабатывает блоки, размер которых превышает ограничение на входные данные, разбивая их на фрагменты; максимальный размер входных данных кодека — это свойство кодека, используемое при определении размера буферов;
  • добавлен флаг сборки -mno-strict-align и макрос SNAPPY_HAVE_RVV для RISC-V;
  • различные исправления для платформ x86-32 (lzham), ARM32, а также обработка размера файлов в Windows;
  • исправлено выделение памяти для буфера компреcсии, с учётом накладных расходов, связанных с буфером разбиения блоков кодека;

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()

OpenZL 0.2.0

 , , , ,

Группа Open Source

После семи месяцев разработки состоялся выпуск 0.2.0 фреймворка OpenZL, предназначенного для создания компрессоров данных без потерь.

Фреймворк состоит из базовой библиотеки и инструментов для создания специализированных компрессоров, описанных на языке SDDL.
Для создания хорошего специализированного компрессора есть два этапа:

  1. Анализ данных для извлечения структуры.
  2. Использование хороших бэкенд-компрессоров, которые используют полученную структуру для достижения хорошего сжатия.

OpenZL предоставляет инструменты для обоих этапов.

Проект написан на языках C и C++ и распространяется по лицензии BSD.

( читать дальше... )

>>> Подробности на GitHub и в первой редакции новости (github.com)

dataman
()

ZXC 0.9.0

 , , , ,

Группа Open Source

Состоялся выпуск 0.9.0 библиотеки и кроссплатформенной консольной утилиты ZXC (github.com), реализующих высокопроизводительное многопоточное асимметричное сжатие без потерь и оптимизированное для игровых ресурсов, прошивок и пакетов приложений. Формат разработан по принципу «один раз записать, многократно читать» (WORM).

В отличие от таких кодеков, как LZ4, ZXC жертвует скоростью сжатия ради максимальной пропускной способности при распаковке.

Декларируется скорость распаковки на 40%+ выше, чем у LZ4 на Apple Silicon, на 25%+ выше на Google Axion (ARM64) и на 5%+ выше на x86_64, при этом во всех случаях обеспечивается более высокий коэффициент сжатия.

В этом выпуске представлен API многократно используемого контекста, возможность настройки размера блоков, полное справочное руководство по API и ABI, а также несколько исправлений, связанных с безопасностью, в том числе устранение уязвимости переполнения буфера в куче, обнаруженной в ходе фаззинга модуля сжатия.

Данный релиз содержит изменения, нарушающие ABI, поэтому SOVERSION увеличена до 2.

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()

ZXC 0.8.0 и 0.8.1

 , , , ,

Группа Open Source

Состоялся выпуск 0.8.0 библиотеки и кроссплатформенной консольной утилиты ZXC (github.com), реализующих высокопроизводительное многопоточное асимметричное сжатие без потерь и оптимизированное для игровых ресурсов, прошивок и пакетов приложений.

Декларируется на 40%+ более быстрая распаковка, чем LZ4 на ARM64, с лучшими коэффициентами сжатия.

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()

Brotli 1.2.0

 , , , ,

Группа Разработка

27 октября, после более двух лет разработки, состоялся выпуск стабильной версии 1.2.0 проекта Brotli (официальный сайт и документация API), распространяемого по лицензии MIT.

Brotli – это универсальный алгоритм сжатия без потерь, который сжимает данные с помощью комбинации современного варианта алгоритма LZ77, кодирования Хаффмана и моделирования контекста второго порядка, с коэффициентом сжатия, сопоставимым с лучшими из доступных в настоящее время универсальных методов сжатия. По скорости он схож с deflate, но обеспечивает более плотное сжатие.

Спецификация формата Brotli определена в RFC 7932.

Основная часть проекта написана на языке C. Также предоставляются биндинги для C#, Go, Java, JavaScript и Python.

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()

OpenZL 0.1.0

 , , , ,

Группа Open Source

6 октября состоялся выпуск 0.1.0 фреймворка OpenZL, предназначенного для создания компрессоров данных без потерь.

В проект также входит демонстрационная консольная утилита zli.

Ян Колле (автор Zstandard) написал на форуме encode.su:

Мы открываем исходный код OpenZL – нового подхода к сжатию данных с акцентом на структурированные данные. В большинстве центров обработки данных имеются огромные потоки данных. Однако эти данные редко бывают «случайными» – как правило, они следуют чётко определенной схеме или формату. Обычно с этими форматами знакомы несколько инженеров.

( читать дальше... )

>>> Исходный код на GitHub

>>> Анонс на encode.su (encode.su)

dataman
()

Zstandard 1.5.7

 , , , ,

Группа Open Source

После 11 месяцев разработки и свыше 500 коммитов состоялся выпуск 1.5.7 быстрой библиотеки сжатия данных и консольной утилиты Zstandard, написанных на языке C и распространяемых по лицензиям BSD или GNU GPL 2.

Это значительный выпуск с улучшениями в производительности, стабильности и функциональности, и особенно рекомендуется для пользователей 32-битных систем.

( читать дальше... )

>>> Полный список изменений на GitHub (github.com)

dataman
()

lzbench 2.0 и 2.0.1

 , , , ,

lzbench 2.0 и 2.0.1
Группа Open Source

6 и 12 февраля состоялись выпуски 2.0 и 2.0.1 консольной утилиты lzbench, предназначенной для сравнения многих популярных алгоритмов компрессии и декомпрессии (их список можно получить командой lzbench -l).

( читать дальше... )

>>> Список изменений всех версий на GitHub (github.com)

dataman
()

lzbench 1.9

 , , , ,

lzbench 1.9
Группа Open Source

17 января, после более чем четырёхлетнего перерыва, состоялся выпуск консольной утилиты lzbench, предназначенной для сравнения скорости многих популярных алгоритмов компрессии и декомпрессии (их список можно получить командой lzbench -l).

( читать дальше... )

>>> Список изменений версии 1.9 на GitHub (github.com)

dataman
()

Zstandard 1.5.5

 , , ,

Группа Open Source

После почти двух месяцев разработки состоялся выпуск 1.5.5 библиотеки быстрого сжатия данных и консольной утилиты Zstandard.

Улучшение производительности:

  • увеличена скорость сжатия на средних уровнях;

Улучшения консольной утилиты zstd:

  • использование mmap при использовании больших словарей;
  • увеличение скорости режима --patch-from;
  • увеличение скорости на ~+10% при обработке множества маленьких файлов;
  • устранена ошибка при записи в директорию без прав на запись.

Документация:

  • обновлена спецификация zstd;
  • документирована возможность создания «жирных» бинарников для macos;

Другие изменения:

  • tests/fullbench может использоваться для нескольких файлов.

>>> Подробности (github.com)

dataman
()

Zstandard 1.5.4

 , , ,

Группа Open Source

После более года разработки и 650 коммитов состоялся выпуск 1.5.4 библиотеки быстрого сжатия данных и консольной утилиты Zstandard.

( читать дальше... )

>>> Подробности (github.com)

dataman
()

Релиз xz-utils 5.0.0

 , , , ,

Группа Open Source

Спустя длительный период разработки и тестирования увидел свет выпуск 5.0.0 утилит и библиотек для компрессии xz-utils. Несмотря на номер версии 5, это первый стабильный выпуск xz-utils с этим названием (старое название — lzma-utils), xz-utils полностью совместимы с форматом lzma (как в сжатии в старом формате, так и в его распаковке).

Компрессия базируется на известном (в частности по 7-zip) формате LZMA, код LZMA распространяется по условиям лицензии Public Domain, остальной код xz-utils — по LGPL, GPL.
xz-utils уже были включены в состав многих дистрибутивов, а также активно используются для распространения tarball-ов исходного кода многими разработчиками, начиная с версии 13.0 .txz является форматом пакетов по умолчанию в дистрибутиве Slackware.

xz-utils поддерживаются на множестве платформ, включая Haiku, OS/2, QNX, OpenVMS, DOS, Windows, и, естественно, самые разнообразные *nix.
Новый формат данных xz по сравнению со старым (lzma) включает возможность использования в потоке контрольных данных (например, crc32/64 или sha-256), возможность использования дополнительных фильтров и цепочек фильтров, в том числе и заданных пользователем, для достижения лучшей компрессии отдельных данных (технические подробности по формату xz).

>>> Сайт проекта (tukaani.org)

Sylvia
()