The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"В ядро Linux добавлена поддержка алгоритма сжатия LZ4"
Отправлено Аноним, 12-Июл-13 15:06 
> Оно не лучше, оно сильно хуже! снэппи хорошо работает на сильно разреженных данных.

Да на самом деле и на остальных работает.

> все типы лемпел-зива - на данных, в которых есть многобайтовые
> повторяющиеся последовательности.

Ну спасибо, Кэп. Вообще, рассказывать о том как работает LZ тому кто разок написал анпакер одного их таких "простых LZ" - довольно интересное начинание :).

> И на каком нибудь 10-12-битном шумноватом изображении не дадут такого результата

Насчет скорости - у сабжевых LZ поиск совпадений минимальный. Скорость сжатия LZ компрессора зависит от того насколько быстро он забивает на поиск совпадений, в ущерб сжатию, разумеется. Чем быстрее забивает, тем хуже сжатие и выше скорость. Можно задетектировав плохо сжимающиеся данные вообще перейти к просто копированию, чтобы скорость не снижать. В целом упомянутые "быстрые LZ" достаточно универсальны. В хучем случае они просто не сожмут, но отработают все-равно достаточно быстро.
> который выдаст примитивнейший бит-пакер, ни по сжатию, ни тем более по скорости.

Ну если заморачиваться классификацией данных, на что надо отдельное время и усилия, тогда и LZ можно костыли подставить в виде препроцессора, который сделает данные удобнее для сжатия. Таких трюков придумано немеряно, в том числе и для битмапов различной природы. Но это дополнительное время на классификацию и препроцессинг. Для скоростного универсального алгоритма сжатия который не знает что дадут на вход (например, компрессия в ФС или БД) это неприемлимо.

Кстати у LZ4 есть и режим генерации pre-compressed данных на случай если скорость сжатия не интересует а вот размер данных и скорость распаковки - важны.

Раз уж вы хотели с шумом и прочая - вот, получите:


$ ./lz4c -b0 photo2011_1.dng test.1
*** LZ4 Compression CLI , by Yann Collet (Jul 12 2013) ***
photo2011_1.dng  :  11127342 ->   9333542 (83.88%),  205.5 MB/s , 1025.2 MB/s  

То что доктор прописал - равка с матрицы. Шум и прочие прелести - в комплекте. Даже сжалось. Не сильно, зато на скорости 205Мб/сек. А распаковка так вообще гиг в секунду. Поди плохо, да?

Если хочется сжать получше - оно и так умеет:


$ ./lz4c -b1 photo2011_1.dng test.1
*** LZ4 Compression CLI , by Yann Collet (Jul 12 2013) ***
photo2011_1.dng  :  11127342 ->   7152148 (64.28%),   11.9 MB/s ,  931.4 MB/s  

Это если что в 1 поток было. При желании и распараллелить ведь можно - паковать разные субблоки на нескольких ядрах, например.

> то есть повторяя то что кто-то уже написал выше - все зависит от структуры данных!

Ясен перец. А LZO, LZ4 и прочие - это скоростные и не ресурсоемкие алгоритмы сжатия, которые не требуют предварительных знаний о структуре и типе данных и используются там где скорость роялит (запись на диск, отсылка по сети, ...). Это универсальные быстрые алгоритмы без претензий на максимальное сжатие и оптимальность во всех возможных случаях. Это "какое-то" сжатие. Зато быстро. Очень быстро. Как видите оно даже трудно жмущуюся равку прожевало на довольно убедительных 200 Мб/сек и даже уменьшило при этом размер на 1/5. К слову, скорость записи на винч где делался опыт - 120Мб/сек на внешних треках, так что такая компрессия может поднять скорость записи, даже на относительно неудачных данных. А на более удачных и подавно :)

> все алгоритмы  сжатия работают на специфической структурированности в данных.

Конкретно эти LZ* задуманы быть generic скоростной давилкой данных без какого либо предварительного знания. Не чемпионские параметры, зато быстро.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру