[devel] rpm: LZMA payload compression

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


On Sat, May 24, 2008 at 06:51:00PM +0400, Alexander Bokovoy wrote:
> 24 мая 2008 г. 18:21 пользователь Alexey Tourbin <at на altlinux.ru> написал:
> > 3) Выбранный уровень сжатия 2 обеспечивает высокую скорость сжатия
> > (быстрее, чем у w9.bzdio, но несколько медленнее, чем у w9.gzdio)
> > и степень сжатия, сравнимую с w9.bzdio (иногда -- несколько лучше).
> > Следующий уровень сжатия 3 по скорости уже заметно проигрывает bzdio
> > (хотя и жмёт несколько лучше).  Скорость разжатия не зависит от уровня
> > сжатия (разжимает примерно в 3 раза медленнее, чем gzip, но при этом
> > в 3-4 раза быстрее, чем bzip2).
> Два вопроса по производительности:
> 1. Насколько это ускоряет типичную установку пакетов? Скажем, kde или
> что-нибудь подобное по объему?

Это не может ускорить установку пакетов, потому что скорость разжатия
раза в три меньше, чем у gzip, который сейчас используется (но при этом
раза в 3-4 больше, чем у bzip2).

Точнее, на это лучше смотреть по-другому.  Скорость разжатия LZMA на
современных процессорах (2GHz) -- 20 Mb/s.  Это неплохо соотносится
со скоростью современных дисков и media.  Например, если *.rpm пакеты
с DVD читаются медленнее, чем 20 MB/s (чем процессор успевает их
распаковывать), то установка пойдёт несколько быстрее (за счёт того,
что при LZMA сжатии *.rpm пакеты занимают меньше места на DVD).

> 2. Насколько этот режим совместим с rsync? Сам по себе LZMA не очень
> приспособлен к генерации блочных структур.

Не знаю.  В текущем виде gzdio тоже создаёт payload, который rsync
"не берёт".  К тому же rsync синхронизирует только файлы с одинаковыми
названиями (точнее, у rsync есть опция -y, но я не уверен, что она
всегда хорошо работает).

> 3. Использует ли реализация в rpm возможности порождения
> дополнительных потоков, как это сделано в 7z?

В lzdio используется формат LZMA_Alone.  Больше об этом я сейчас ничего
сказать не могу, но постараюсь ещё почитать исходники и разобраться.

А что дают "дополнительные потоки" в 7z?
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/784e559b/attachment-0002.bin>


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