[devel] ускорение lzma декомпрессии (XZ Utils)

Ilya Kurdyukov ilyakurdyukov на basealt.ru
Вт Дек 14 05:53:56 MSK 2021


> Пожалуйста, пришлите какие команды надо запустить, чтоб собрать и
> протестировать то, что вам нужно.
git clone git://git.altlinux.org/gears/x/xz.git
cd xz
patch -p1 < faster_lzma_decoder_x86.patch

Патч здесь:

 > https://gist.github.com/ilyakurdyukov/f514418f3affd677e1ac408ec0c09188

Далее собираем через hasher, или:
./autogen.sh --no-po4a
./configure
make all

Проверить можно так:

1) Исходники ядра линукс:

https://fossies.org/linux/kernel/v5.15/linux-5.15.7.tar.xz

time -p src/xz/xz -d < linux-5.15.7.tar.xz > /dev/null

2) Бинарники и ресурсы Firefox (можно заменить на несколько сотен 
мегабайт других):

tar -cf firefox.tar /usr/lib/firefox
src/xz/xz -c -7e --format=lzma firefox.tar > firefox.tar.lzma

time -p src/xz/xz -d < firefox.tar.lzma > /dev/null


Частоту процессора перед проверкой надо на максимум ставить. Или 
запускать тест несколько раз подряд, результат первого запуска выбросить.

Также более точный замер:

perf stat -r 5 src/xz/xz -c -d firefox.tar.lzma > /dev/null


На сжатом тексте даёт наименьшее ускорение.




Подробная информация о списке рассылки Devel