Выпуск утилит GNU Grep 3.12, Gzip 1.14, Diffutils 3.12 и Coreutils 9.7

Проект GNU опубликовал релиз пакета gzip 1.14, включающего утилиты gzip, gunzip, zmore и zcat для сжатия и распаковки данных при помощи алгоритма LZ77. В новом выпуске существенно ускорены операции распаковки. На системах x86_64, поддерживающих процессорные инструкции PCLMUL, прирост производительности достигает 40%, а на системах без поддержки PCLMUL – до 20%.

Ускорение реализовано благодаря оптимизации операций с контрольными суммами (CRC), на вычисление которых уходило около половины расходуемого процессорного времени. Оптимизированная версия CRC уже добавлена в состав библиотеки gnulib, что приведёт к ускорению и других проектов GNU, использующих функции вычисления контрольных сумм.

Внесены изменения, нарушающие совместимость: прекращена установка утилиты zmore на платформах, не использующих утилиту “more”; прекращена обработка переменной окружения GZIP (задаёт опции по умолчанию) в ситуациях, когда явно не указаны опции “-1” (–fast), “-2”,… “-9” (–best), “–rsyncable” или “–synchronous”.

Дополнительно можно отметить:

  • Выпуск утилиты для организации поиска данных в текстовых файлах – GNU Grep 3.12. В новой версии решена проблема с поиском в каталогах, насчитывающих более 100 тысяч файлов. Прекращена поддержка опции “–unix-byte-offsets” (“-u”). На платформах Windows и AIX в 32-разрядном режиме реализована поддержка Unicode-символов, выходящих за рамки основной многоязычной плоскости Unicode (коды с 0000 по FFFF).
  • Выпуск набора GNU Diffutils 3.12, включающего утилиты для оценки различий в файлах, такие как diff, diff3, sdiff и cmp. В новой версии исправлены две ошибки: аварийное завершение при использовании “diff -y” и проблемы с “diff -r” при сравнения непустого и пустого файлов.
  • Выпуск набора базовых системных утилит GNU Coreutils 9.7, в состав которого входят такие программы, как sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln и ls. В новой версии в утилиту logname добавлена поддержка систем на базе Си-библиотек musl и uclibc.
    В остальном отмечено только исправление ошибок, затрагивающих утилиты
    cat, cksum, dd, ls, timeout, sleep, tail и who.
Release. Ссылка here.