В ядре Linux версии 3.9 будет существенно увеличена скорость работы алгоритма сжатия LZO
В ядро Linux версии 3.9 была включена доработанная версия алгоритма LZO, представленная Маркусом Оберхаммером (Markus Oberhumer), автором LZO (Lempel-Ziv-Oberhumer), в своем git-репозитории дерева ядра Linux на GitHub. В результате данного изменения на современных машинах ожидается довольно существенный рост производительности алгоритма сжатия LZO встроенного в ядро Linux 3.9.Некоторые синтетические тесты производительности (взято из pull request): На x86_64 (Sandy Bridge), gcc-4.6 -O3, Silesia test corpus, блок 256 kB:
- LZO-2005: 150 MB/sec сжатие, 468 MB/sec распаковка;
- LZO-2012: 434 MB/sec сжатие, 1210 MB/sec распаковка;
На i386 (Sandy Bridge), gcc-4.6 -O3, Silesia test corpus, блок 256 kB:
- LZO-2005: 143 MB/sec сжатие, 409 MB/sec распаковка;
- LZO-2012: 372 MB/sec сжатие, 1121 MB/sec распаковка;
На armv7 (Cortex-A9), Linaro gcc-4.6 -O3, Silesia test corpus, блок 256 kB:
- LZO-2005: 27 MB/sec сжатие, 84 MB/sec распаковка;
- LZO-2012: 44 MB/sec сжатие, 117 MB/sec распаковка;
- LZO-2013-UA: 47 MB/sec сжатие, 167 MB/sec (**) распаковка.
где, LZO-2005 — версия алгоритма LZO в ядре 3.8, базирующаяся на библиотеке LZO 2.02 (выпущена в 2005 году). LZO-2012 — обновленная версия алгоритма LZO из ветки linux-next. LZO-2013-UA — обновленная версия алгоритма LZO из ветки linux-next с экспериментальным патчем для невыровненного доступа на архитектуре ARM. Данный патч требует подтверждения от мэйнтейнеров архитектуры ARM и пока не включен.
Кроме того, известный разработчик ядра Эндрю Мортон (Andrew Morton) отметил что хотя есть алгоритм LZ4, который работает еще быстрее чем ускоренная версия LZO, существующие файловые системы и прочие подсистемы используют LZO и поэтому существенно выиграют от данного обновления.
© OpenNet