The OpenNET Project / Index page

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

Выпуск библиотеки сжатия LZHAM 1.0, нацеленной на создание более быстрой альтернативы LZMA

25.01.2015 20:24

Следом за анонсированным алгоритмом сжатия ZSTD, Рич Гелдрих (Rich Geldreich), работавший в компании Valve, принимавший участие в разработке ряда известных компьютерных игр и развивающий несколько проектов по сжатию текстур (crunch, miniz, picojpeg), представил первый стабильный релиз собственной системы сжатия LZHAM 1.0, созданной в рамках проекта по разработке эффективного кодека для сжатия ресурсов, поставляемых в составе игровых приложений. Код реализации LZHAM написан на языке С++ и поставляется под лицензией MIT.

Из особенностей LZHAM отмечается поддержка патчей (delta-изменений), позволяющих распространять изменения без перепаковки уже сжатых файлов. Для повышения эффективности сжатия в LZHAM могут использоваться таблицы сопоставления, размером до 64 Кб, а также словари, размером до 500 Мб. LZHAM также опционально предоставляет средства для сжатия с распараллеливанием вычислений в несколько потоков.

Начиная с выпуска LZHAM 1.0 формат закодированных данных не будет меняться, что гарантирует совместимость с будущими выпусками. При этом совместимость формата с ранее представленными альфа-версиями не гарантируется. Официально поддерживаются платформы x86/x64 Linux, iOS, OSX и Windows x86/x64, следующим шагом станет поддержка Android.

LZHAM предназначен для достижения как можно более высокой степени сжатия и обеспечения высокой скорости распаковки, за счёт требующей интенсивных вычислений стадии сжатия. По уровню сжатия и скорости упаковки реализация LZHAM сравнима с LZMA, но по скорости распаковки опережает LZMA в 1.5-8 раз (но медленнее zlib). Упаковка производится достаточно медленно и требует больших ресурсов, что ограничивает алгоритм применением для областей, в которых необходимо часто и очень быстро распаковывать один раз упакованные данные. Из ограничений также отмечается плохая эффективность при сжатии небольших порций данных, не превышающих 10 Кб.

Попытки сравнения LZHAM с ZSTD Рич Гелдрих прокомментировал тем, что данные методы нацелены на разные области применения и занимают разные ниши. LZHAM ориентирован на обеспечение максимально возможного уровня сжатия, в то время как ZSTD пытается найти оптимальный баланс между эффективностью и скоростью. Обе системы поддерживают совместимый с zlib API. По эффективности сжатия LZHAM опережает ZSTD, а по скорости декодирования немного отстаёт от ZSTD. По скорости кодирования LZHAM в 8 раз отстаёт от ZSTD и не может использоваться для сжатия потоков на лету, подходя лишь для offline-применения. При этом Рич Гелдрих намерен перейти на использование созданного автором ZSTD кода обработки энтропии FSE (Finite State Entropy), реализация которого значительно проще.



  1. Главная ссылка к новости (http://richg42.blogspot.ru/201...)
  2. OpenNews: Развитие открытых графических форматов ограничено патентной угрозой
  3. OpenNews: Дискуссия о проблемах OpenGL
  4. OpenNews: Представители Valve раскрыли подробности оптимизации движка Source под OpenGL
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/41536-lzham
Ключевые слова: lzham, lzma, compress
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (38) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Fracta1L (ok), 21:40, 25/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +21 +/
    Неделя алгоритмов сжатия?
     
     
  • 2.2, Аноним (-), 21:56, 25/01/2015 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Астрологи объявили и т.д. и т.п.
     
  • 2.3, Аноним (-), 22:13, 25/01/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Автору LZHAM просто обидно стало, что он три года альфа-версии выпускал и готовился к релизу, а Ян взял и без лишних прелюдий выпустил новый кодек-бомбу, который не намного хуже сжимает, быстрее разжимает и кардинально быстрее сжимает.


     
     
  • 3.12, Аноним (-), 01:44, 26/01/2015 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Да вообще-то Рик никогда за скоростью сжатия и не гонялся - он это для игрушечников в основном делает. Этим роялит скорость загрузки сцен и времена даунлоада, но совершенно пофигу сколько оно там сжиматься будет.
     

  • 1.4, Kodir (ok), 22:25, 25/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –31 +/
    Все чёта бегают с этими сжимальщиками, будто у них винда на дискетку не помещается! Люди, вы чо? :) Диски уже ТЕРАБАЙТНЫЕ, места - хоть *опой ешь!
    Это крупным датацентрам нужны сжатия, а мы можем не беспокоиться.
     
     
  • 2.5, Аноним (-), 22:30, 25/01/2015 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Да ну? А как вам игры по 50 гигов? Это же пипец и унижение моего интернета.
     
     
  • 3.19, Pahanivo (ok), 10:26, 26/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Да ну? А как вам игры по 50 гигов? Это же пипец
    > и унижение моего интернета.

    С моим полторамегабитом домашним это васчеее издевательство! ))

     
     
  • 4.28, RiseOfDeath (?), 16:38, 26/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Завидую. У меня 450 кбит.
     
     
  • 5.29, Pahanivo (ok), 18:14, 26/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Завидую. У меня 450 кбит.

    а лет 7-8 назад у мну сидел один офис 10 человек на 128к с активным серфингом, почтой и т.д. И хватало... а ща титул почти любого сайта полметра не меньше ...

     
     
  • 6.31, Аноним (-), 22:02, 26/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Ага... скорости  растут, а сайты грузятся медленнее чем 20 лет назад на диалапе.
     
     
  • 7.32, Pahanivo (ok), 07:37, 27/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ага... скорости  растут, а сайты грузятся медленнее чем 20 лет назад
    > на диалапе.

    вот и я о том же ... потому что быдлокодерам пофег, им бы побольше говна на сайте типа банеров и т.д. ))

     
     
  • 8.38, Аноним (-), 22:24, 27/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Баннеров Секи сюда data cache d3 01 79 0001790C 0 93354 http venturec... текст свёрнут, показать
     
     
  • 9.40, Pahanivo (ok), 07:33, 28/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    OMG, да уж, куда там этим банерам после такого хорошо было когда тайтлы стол... текст свёрнут, показать
     
  • 3.37, Аноним (-), 22:23, 27/01/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Да ну? А как вам игры по 50 гигов? Это же пипец
    > и унижение моего интернета.

    Не ты ли вопил, что с безлимитной оптикой тебе все пофигу, а кэширующие прокси вообще в пень не впёрлись? М?

     
  • 2.6, Нанобот (ok), 22:42, 25/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >мы можем не беспокоиться

    ну так для тебя^W вашего виличиства это и не предназначалось

     
  • 2.8, Аноним (-), 22:48, 25/01/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Все чёта бегают с этими сжимальщиками, будто у них винда на дискетку не помещается! Люди, вы чо? :) Диски уже ТЕРАБАЙТНЫЕ, места - хоть *опой ешь!

    Во-первых, "все" это не ты, который компьютер использует как печатную машинку. Понятно что тебе терабайта для пасьянса и очередного романа про мопсов хватает с лихвой.
    Во-вторых, если уж мы о дисках, они более медленные чем мелкие по объёму. Ферштейн? Это значит что сжатый раздел работает быстрее. И будет ещё быстрее с новыми алгоритмами.

    > Это крупным датацентрам нужны сжатия, а мы можем не беспокоиться.

    В-третьих, кто тебе вообще сказал что речь о тебе?

     
  • 2.9, Аноним (-), 22:56, 25/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Про сеть не слышали? Там, говорят, какие-то протоколы есть, загрузка канала, пропускная способность? Не слышали? Ну и хорошо, спите, не беспокойтесь. Алгоритмы сжатия - да, пустое место, не обращайте внимания.
     
     
  • 3.36, Himik (ok), 21:05, 27/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Задача сети - передать что дают, а не изображать из себя архиватор, брать на себя чужие роли. Сжимать могут и отправители/получатели, если им это действительно нужнО.
     
     
  • 4.39, Аноним (-), 22:25, 27/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Задача сети - передать что дают, а не изображать из себя архиватор,
    > брать на себя чужие роли. Сжимать могут и отправители/получатели, если им
    > это действительно нужнО.

    Иди, заяви это разрабам mod_gzip. Намякнуто ясно?

     
  • 2.10, Softfire (?), 01:06, 26/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Минусую и присоединяюсь к выше высказавшимся критикам.
     
  • 2.11, Аноним (-), 01:14, 26/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Esli u tebya gigabaytnie dannie kazdiy den  i ix nuzno szimat u arxiwirowat - to tut uz tebe nuzno chto to pobistree

    I eshe, na serverax netakie uz i deshewie diski stoyat i ne te samie kotorie u tebya w kompe stoit.

    W danniy moment archive zanimaet bolshe mesta chem uze sami realnie dannie za den, a archivirowat nuzno bistro i silno.

     
     
  • 3.23, Аноним (-), 10:40, 26/01/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Граммар-наци, убейте поциена!
     
  • 2.13, Аноним (-), 01:46, 26/01/2015 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Это крупным датацентрам нужны сжатия, а мы можем не беспокоиться.

    Ну вот вы и не бегайте. Стойте в стойле, кушайте сено. Чего вы сюда то пишете? Тут народ поумнее вас - алгоритмами интересуются и думать пытаются. Как минимум некоторые.

     
     
  • 3.14, Аноним (-), 07:22, 26/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Прозвучало как оскорбление.
     
     
  • 4.16, Аноним (-), 08:19, 26/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Прозвучало как оскорбление.

    Тебе показалось.

     
  • 2.15, Xaionaro (ok), 07:43, 26/01/2015 [^] [^^] [^^^] [ответить]  
  • +7 +/
    1. ТБ -- это не так много (всего 10 раз по ~100ГБ).
    2. Чем сильнее сжат файл, тем с меньшей нагрузкой на диск можно его полностью прочесть. Вы когда-нибудь пробовали смотреть "несжатые фильмы"?
    3. Чем сильнее сжат файл, тем быстрее его можно будет передать по сети.
    4. <captain>Чем меньше жрёт CPU, тем лучше.</captain>
    5. Поддержка delta-изменений интересна мне для большой ниши проблем (как и по работе, так и для дома).
    6. Почему только крупным датацентрам? IMHO, любым это интересно. Да и не только датацентрам.
    7. Как будто среди пользователей OpenNet нет сотрудников крупных датацентров.

    Думаю хватит, пока.

    А вообще я удивляюсь. Вы во всех своих комментариях такую ахинею несёте. Это какой-то новый вид троллинга?

     
     
  • 3.21, Pahanivo (ok), 10:29, 26/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > А вообще я удивляюсь. Вы во всех своих комментариях такую ахинею несёте.
    > Это какой-то новый вид троллинга?

    Нет, новый вид медицинской психиатрии ...

     
  • 2.17, trdm (ok), 08:36, 26/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Комп нужен не только для того, что-бы фигню постить.
     
  • 2.18, Анонимко (?), 08:40, 26/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    На чтение и распаковку сжатого файла с винчестера тратится ощутимо меньше времени, чем на чтение несжатого файла. Сжатый в 2 раза файл скачается в 2 раза быстрее несжатого. И тут не важно какая скорость интернета у пользователя - качество услуги повышается за бесплатно. Вот все и бугают с "этими сжимальщиками".
    Более того, сейчас всё идет к сжатию данных в оперативной памяти, доступ к которой по прежнему очень медленный и занимает сотни тактов процессора.
     
     
  • 3.22, Pahanivo (ok), 10:31, 26/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Более того, сейчас всё идет к сжатию данных в оперативной памяти, доступ
    > к которой по прежнему очень медленный и занимает сотни тактов процессора.

    Пардонте, но куда при этом вы поместите РАСПАКОВАННЫЕ данные?


     
     
  • 4.24, Аноним (-), 10:47, 26/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Распаковка прозрачно выполняется при чтении аппаратно, а сжание, соотв-но, при записи. В последних GPU Nvidia таким образом сжимается фреймбуфер, например.
     
  • 2.20, Аноним (-), 10:28, 26/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Причем тут диски?
    Эти алгоритмы для игр заточены, что бы как можно быстрей текстуры в память выбрасывать, что бы у игрунов fps высоким был, а не слайд-шоу.
     
     
  • 3.25, Аноним (-), 10:49, 26/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Причем тут диски?
    > Эти алгоритмы для игр заточены, что бы как можно быстрей текстуры в
    > память выбрасывать, что бы у игрунов fps высоким был, а не
    > слайд-шоу.

    Нет, это другое сжатие. То, что в сабже - это действительно для дисков и сети.

     
     
  • 4.27, анонко (?), 11:43, 26/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Нет, это другое сжатие. То, что в сабже - это действительно для
    > дисков и сети.

    За алгоритмом сжатия для игр - это вам к Линусу.

     
  • 2.26, tensor (?), 11:30, 26/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Диски-то терабайтные, а вот каналы - нет.
    Когда передаёшь /etc по EDGE куда-нибудь в Тюхтет, разница между 50 МБ и 5 МБ ощущается очень сильно.
    А ещё я знаю историю о том, как syslog-сервер таки не поместился в терабайт.
     

  • 1.30, Аноним (-), 21:25, 26/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вас, опенсорсников, не понять.

    Вышел новый релиз Sysvinit. "Выкинуть, нет существенных изменений!"

    Вышел новый релиз tinyinit 0.01 "Ух ты как бурно развивается, скоро уже сможет загружать что-нибудь сложнее сервера печати. Однозначно нужно для всякой там эмбедевшины!"

    Вышел новый релиз LZMA. "Не нужно, выкинуть, XZ жмёт на 0,00001% лучше при всего лишь трёхкратном использовании CPU!"

    Вышел новый релиз LZMAM. "Однозначно нужно, сейчас очень важно жать быстро! И пофиг что низкая эффективность, жёсткие диски сейчас большие!"

     
     
  • 2.33, Xaionaro (ok), 07:46, 27/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вас, опенсорсников, не понять.
    > Вышел новый релиз Sysvinit. "Выкинуть, нет существенных изменений!"
    > Вышел новый релиз tinyinit 0.01 "Ух ты как бурно развивается, скоро уже
    > сможет загружать что-нибудь сложнее сервера печати. Однозначно нужно для всякой там
    > эмбедевшины!"
    > Вышел новый релиз LZMA. "Не нужно, выкинуть, XZ жмёт на 0,00001% лучше
    > при всего лишь трёхкратном использовании CPU!"
    > Вышел новый релиз LZMAM. "Однозначно нужно, сейчас очень важно жать быстро! И
    > пофиг что низкая эффективность, жёсткие диски сейчас большие!"

    К чему вы это всё? Не знаю, удивит ли это, но каждый имеет какое-то своё мнение. А вы тупо в кучу перемешали какие-то случайные (или даже выдуманные) позиции по разным вопросам. Что именно вы не можете понять?

     
     
  • 3.34, тоже Аноним (ok), 09:45, 27/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Уже по вводному понятно, что: "почему вы такие умные, а строем не ходите?"
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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