[devel] rpm: LZMA payload compression

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Сб Май 24 20:37:35 MSD 2008


On Sat, May 24, 2008 at 07:53:55PM +0400, Alexander Bokovoy wrote:
> 24 мая 2008 г. 19:35 пользователь Alexey Tourbin <at на altlinux.ru> написал:
> >> Два вопроса по производительности:
> >> 1. Насколько это ускоряет типичную установку пакетов? Скажем, kde или
> >> что-нибудь подобное по объему?
> >
> > Это не может ускорить установку пакетов, потому что скорость разжатия
> > раза в три меньше, чем у gzip, который сейчас используется (но при этом
> > раза в 3-4 больше, чем у bzip2).
> >
> > Точнее, на это лучше смотреть по-другому.  Скорость разжатия LZMA на
> > современных процессорах (2GHz) -- 20 Mb/s.  Это неплохо соотносится
> > со скоростью современных дисков и media.  Например, если *.rpm пакеты
> > с DVD читаются медленнее, чем 20 MB/s (чем процессор успевает их
> > распаковывать), то установка пойдёт несколько быстрее (за счёт того,
> > что при LZMA сжатии *.rpm пакеты занимают меньше места на DVD).
> Было бы интересно увидеть конкретные цифры установок в хэшере.

Цифры чисто по скорости сжатия/разжатия есть здесь:
http://tukaani.org/lzma/benchmarks

В хешере что-либо измерить трудно.  Во-первых, hasher создаёт
cache/chroot/chroot.cpio, то есть скорость можно измерять только
для дополнительных пактов из BuildRequires (а для базовой системы
при последовательных сборках скорость оказывается "бесплатной").
Во-вторых, собственно, сложно удержать то, что мы хотим измерить.
На tmpfs мы измеряем одно, на ext3 мы измеряем другое; в обоих случаях
буферный кеш и kswapd спутывают все карты.

> Дело в том, что gzip имеет код, который позволяет создавать архивы,
> построенные на фиксированных блоках (опция --rsyncable в утилите
> gzip), наверняка такую же настройку можно активировать и в библиотеке.
> С этими фиксированными блоками rsync очень хорошо справляется.

Увы, gzip не использует zlib (а gzdio использует zlib).  Это в
нескольких местах надо править.  И, собственно, rsync использует свою
собственную модифицированную копию zlib.  И ещё zlib есть в ядре...

К тому же на практике rsync мало используют (если я не ошибаюсь,
у нас нет ни одного rsync зеркала, зато есть несколько ftp зеркал).
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20080524/ee53052a/attachment-0002.bin>


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