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

Ilya Kurdyukov ilyakurdyukov на basealt.ru
Вт Дек 14 10:25:55 MSK 2021


Мне предложили этот архив как образец для тестирования сжатых бинарных 
данных.

https://mirrors.edge.kernel.org/pub/linux/kernel/firmware/linux-firmware-20211027.tar.xz 
<https://mirrors.edge.kernel.org/pub/linux/kernel/firmware/linux-firmware-20211027.tar.xz>

На нём на Skylake получается +29% ускорение декомпрессии.


On 14.12.2021 13:11, Ilya Kurdyukov wrote:
>
> Тестовый пакет для Сизифа: https://git.altlinux.org/tasks/291923/
>
> Коммит с патчем: 
> http://git.altlinux.org/people/ilyakurdyukov/packages/xz.git
>
>
> On 14.12.2021 09:53, Ilya Kurdyukov wrote:
>>
>>> Пожалуйста, пришлите какие команды надо запустить, чтоб собрать и
>>> протестировать то, что вам нужно.
>> 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 mailing list
>> Devel на lists.altlinux.org
>> https://lists.altlinux.org/mailman/listinfo/devel
> _______________________________________________
> Devel mailing list
> Devel на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel


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