|
|
|
|
|
|
7.41, Yuris (??), 09:42, 02/09/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
Вы нас плавно подводите к тому, что Фэйсбук проект ЦРУ? ;)
| |
|
6.51, Аноним (-), 16:39, 03/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Не-не-не. Они изобрели скруглённые углы.
Вы будете ржать, но автор сабжа учился на маркетолога. Но в какой-то момент решил что труба шатал углы закруглять. И занялся сжатием. Преуспев в этом получше многих других.
| |
|
7.52, Sluggard (ok), 16:45, 03/09/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Вы будете ржать, но автор сабжа учился на маркетолога. Но в какой-то
> момент решил что труба шатал углы закруглять. И занялся сжатием. Преуспев
> в этом получше многих других.
Бывает, что такого. И анестезиологи вон ядро пишут. У меня приятель филолог писал под Symbian сперва на Python, потом на C++.
| |
|
|
|
|
|
|
3.8, Crazy Alex (ok), 12:50, 01/09/2016 [^] [^^] [^^^] [ответить]
| +10 +/– |
Ужас-то какой.
Вообще-то работа на дядю в IT в большинстве случаев на порядок комфортнее и спокойнее работы на себя. И не факт, что в минус по деньгам. Работая на себя слишком много профессий совмещать приходится.
| |
3.30, Аноним (-), 20:34, 01/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
А в чем работа на дядю состоит? Чувак что так пилил свой алгоритм что эдак. Дядя заинтересовался в этом результате и нанял чувака чтобы тот мог делать то что делает фултайм. Результвт доступен что дяде, что чуваку, что нам с вами.
В последних ревизиях годный кстати алгоритм. Жмет лучше zlib и при том распаковывается быстрее. Именно с zstd яппл собезьянничал свой алгоритм.
| |
|
2.12, Аноним84701 (?), 13:45, 01/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Кто-нибудь пояснит, при чём здесь Facebook? До этого я думал, что автором
> Zstd является автор алгоритма LZ4 и открыт он был ещё в
> начале прошлого года, если не раньше: https://www.opennet.me/opennews/art.shtml?num=41534
Поясняю: автору не только новые алгоритмы изобретать, но иногда в процессе изобретательства и кушать хочется, да и ночевать скорее всего предпочитает в теплой постельке, под крышей ;)
| |
|
3.38, Аноним (-), 21:40, 01/09/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
Кушать, крыша и тёплая постелька несовместимы с понятиями Настоящей Свободы.
| |
|
2.13, Andrey Mitrofanov (?), 14:04, 01/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Кто-нибудь пояснит, при чём здесь Facebook? До этого я думал, что автором
> Zstd является автор алгоритма LZ4 и открыт он был ещё в
> начале прошлого года, если не раньше: https://www.opennet.me/opennews/art.shtml?num=41534
Ср.:
25.01.2015 09:47 Автор LZ4 представил новый быстрый и эффективный алгоритм сжатия ZSTD
Ян Колле (Yann Collet), автор эталонной реализации алгоритма LZ4, представил новый [...]
и
https://code.facebook.com/posts/1658392934479273/smaller-and-faster-data-compr
17 hours agoData · Performance · Storage
Smaller and faster data compression with Zstandard
Yann Collet Chip Turner
People are creating, sharing, and storing [...]
Выводы?
| |
|
3.23, qwerty (??), 18:34, 01/09/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
>- изящно вынести специфический(!) словарь в ../
если данных терабайтами и при этом вариабельность 100k словаря за год 0%,
то почему бы и нет?
| |
|
4.47, . (?), 14:42, 02/09/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
>> - изящно вынести специфический(!) словарь в ../
> если данных терабайтами и при этом вариабельность 100k словаря за год 0%,
вы совсем читать не умеете? Ну ладно первоисточник ниасилить (это ж надо было весь этот булшит не просто прочесть по диагонали, но и проверить подозрительный момент) - но слово _специфический_ вами тоже не понято?
Сперва тренируем на конкретном наборе данных, потом показываем счастливым лохам, как легко и быстро этот самый набор сжимается. Словарь при этом забываем в ../, время его составления тоже ингнорируем, все счастливы и танцуют.
| |
|
3.36, Аноним (-), 21:05, 01/09/2016 [^] [^^] [^^^] [ответить]
| +6 +/– |
> Теперь прикинем, как это будет внутри какой-нибудь rasp pi, где нет branch
> prediction (и любой branchless код просто длиннее и медленнее нормального), дорогая
> 64битная арифметика, где нет лишних ядер, лишней памяти -
Я сравнивал разные LZ-образные на одноядерном ARMv7. Это несколько отличается от x86.
1) LZ4: по прежнему в лидерах скорости сжатия/распаковки. Может догнаться до скорости memcpy(), а на хорошо сжимаемых данных даже обогнать memcpy (вероятно, разгрузив read исходных данных из оперативы по сравнению с memcpy). Ratio как обычно скромный. А он сильно жать в принципе не может. Не для этого он.
2) Zstd: в отличие от x86 где zstd заметно быстрее zlib, на ARM zstd примерно как zlib. Ну может капельку быстрее иногда. Но жмет все-равно значительно лучше zlib'а. Профит по любому.
3) Brotli. Это уже тяжеловес. По скорости на ARM уже несколько сливает zlib. Но жмет кардинально плотнее и на верхних уровнях приближается к LZMA. Распаковываясь в ТРИ РАЗА быстрее чем LZMA на том же проце. Тоже вполне приятный tradeoff. Нагло жульничает на вебне используя встроенный словарь на добрых 120 кило.
| |
|
4.48, . (?), 15:05, 02/09/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Я сравнивал разные LZ-образные на одноядерном ARMv7. Это несколько отличается от x86.
спасибо, это как раз то, чего не сделали авторы - что и вызывает у меня удивление. Скудоумием они явно не могли страдать, значит - намеренная и осознаваемая подмена понятий.
Причем совсем непонятно, чего ради - на первый взгляд и честный анализ должен был дать достаточно достойные результаты. Ну а раз совравшему уже не хочется доверять и в остальном - вдруг оно, к примеру, каждый пятый файл вообще не cможет потом распаковать.
> проце. Тоже вполне приятный tradeoff. Нагло жульничает на вебне используя встроенный
> словарь на добрых 120 кило.
ну это не нагло. Нагло это в исходной статье - сперва пообучать алгоритм, потом отложить словарик, потом _эти_же_ данные (не какие-то похожие, а именно те) сжать. (причем оно таки делало zlib чуть ли не в восемь раз даже с учетом словаря, совершенно неясно, зачем понадобилось такое мелкое жульничество. Возможно, ларчик откроется, если засечь время обучения- вызов time там тоже скромно опущен ;) Если словарь является частью программы, ничего плохого в этом я не вижу (как, собственно, и в специфическом словаре, упакованном вместе с данными, кто-то из ранних досовских архиваторов именно так и работал...аццки долго ;)
| |
|
5.53, Аноним (-), 17:11, 03/09/2016 [^] [^^] [^^^] [ответить] | +/– | Больше похоже на то что они так просто не умеют ARM вообще забавные штуки Там ... большой текст свёрнут, показать | |
|
|
3.46, arisu (ok), 10:14, 02/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Поневоле закрадываются сомнения - там все остальное-то нормально сделано?
нормально. просто подобные штуки хоть и не принято сейчас называть «пресс‐релизы», но по сути это именно пресс‐релиз. соответственно, рассказывается о плюсах, умалчивается о минусах и всё такое. потому что надо продать. кому непонятно, что именно продаётся — пусть спускается с небес.
| |
|
4.54, Аноним (-), 17:26, 03/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
Автор zstd должен был стать маркетологом. Но как-то случайно подсел на алгоритмы и програмизм. Это ему настолько вштырило что он послал карьеру маркетолога и занялся алгоритмами сжатия.
Так что он умеет преподнести себя в выгодном свете. Но соль не в том. Он упрямый чувак, хорошо разбирается в оптимизациях и поэтому смог догнаться до высот на которых сломали зубы многие матерые програмеры. Zstd не самый быстрый и не самый плотный. Зато он практичный и серьезно претендует на нишу zlib, который с точки зрения технологий мало ушел от эпохи DOSовых архиваторов. Zstd в той же нише, только лучше. И по скорости распаковки и по достижимой степени сжатия.
| |
|
5.55, arisu (ok), 17:30, 03/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
а я нигде не писал, что сабж плохой, если что. я просто немного потоптался на форме презентации.
| |
|
6.59, Аноним (-), 18:25, 03/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
> а я нигде не писал, что сабж плохой, если что. я просто
> немного потоптался на форме презентации.
Топтаться на презентации маркетолога занятие неблагодарное. Маркетологи это умеют. А то что одним маркетологом меньше и одним програмером больше - вообще фича :P.
| |
|
|
|
|
|
|
2.5, Аноним (-), 12:08, 01/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
Реализация в виде кода была сделана автором LZ4 и было выпущено много версий. И только к последней версии под номером 1.0.0 примазался Facebook.
| |
|
|
|
5.31, Аноним (-), 20:38, 01/09/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
> А так можно? MIT вроде не допускает перелицензирование?
В mit как и bsd - полтора условия. Поверх которых можно нашлепнуть любые другие без нарушения лицензии ;). Проприерасы вообще EULA всем в рожу тычут, и ничего, так можно. А GPL чем принципиально отличается от других лицензий? :)
| |
|
|
|
|
1.7, mmm (??), 12:41, 01/09/2016 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
А если туда ещё и lepton подмешать - на jpg-ах всех порвёт.
| |
1.9, Аноним (-), 13:10, 01/09/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
А почему никто не обращает внимание на фрактальное сжатие? Патенты уже истекли.
| |
|
2.18, Аноним (-), 16:06, 01/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
> А почему никто не обращает внимание на фрактальное сжатие? Патенты уже истекли.
две причины - оно сильно Ассиметрично. распаковка - весьма шустра а сжатие в десятки, порой сотни раз медленее.
а второе - там необычная математика и ... программисты - просто не осилят прикручивать либы(две компании, лицензировавшие у луравэйв/лизардтех уже после покупки остатков итератед оными в конце нулевых - так и не смогли купленные либы прикрутить к своему решению, несмотря на то что в Ф500 входят и опыт "абстрактной" разработки софта у них - был).
| |
|
3.33, Аноним (-), 20:50, 01/09/2016 [^] [^^] [^^^] [ответить] | –1 +/– | Обычный Lempel-Ziv к этому вполне склонен и у того же Zstd есть высокие уровни с... большой текст свёрнут, показать | |
|
|
|
2.28, Аноним (-), 20:32, 01/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
>> конечного состояния энтропии (Finite State Entropy)
> МГИМО финишд?
Аск
| |
|
|
|
3.34, Аноним. (?), 20:54, 01/09/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
> МПеговый дудочник
MPEGLA'овый :)
Впрочем для MPEGLA тоже подарочек есть: https://aomedia.googlesource.com/aom - эта крутень дает довольно приличную картинку 1080P даже при ... 500 Кбит?! Вау. Эй, H.264 а попробуй так же? И чтоб не превратиться в блочную муть? :)
| |
|
|
5.44, Аноним (-), 09:52, 02/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
тогда уж AV1 и Daaala, Thor ;)
Theora-у ванильную - тоже вяло(но ощутимо)допиливают да и VP8, VP9 для "внутреннего использования" гугль юзает вовсю )
| |
|
6.58, Аноним (-), 18:24, 03/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
> тогда уж AV1 и Daaala, Thor ;)
> Theora-у ванильную - тоже вяло(но ощутимо)допиливают да и VP8, VP9 для "внутреннего
> использования" гугль юзает вовсю )
На VP8 почти забили. Из него сильно больше уже не выжмешь. VP9 достаточно активно пилят и фиксят. Daala частично внедрили в AV1, который в первом приближении смесь VP10 с Daala, может и из Thor чего-то выдрали. Основные коммитеры - из daala и vp10.
| |
|
5.56, Аноним (-), 18:20, 03/09/2016 [^] [^^] [^^^] [ответить] | +/– | Наздоровье, гугл и ко задались целью его уделать И уже уделывают существующие р... большой текст свёрнут, показать | |
|
|
|
|
1.26, Аноним (-), 20:24, 01/09/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Использую в двух своих проектах. При равной скорости векторные изображения жмет на 40% сильнее zlib.
| |
|
2.35, Аноним (-), 20:57, 01/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Использую в двух своих проектах. При равной скорости векторные изображения жмет на
> 40% сильнее zlib.
Да почти все жмет лучше чем zlib. Особенно если данных больше чем 32Кб. Все-таки 32 Кб окно без возможности увеличения - ловит мало совпадений. Ну и FSE как вторая стадия - это такой удачный компромисс где скорость побольше чем у хаффмана при том что степень сжатия на уровне арифметического кодиорования. Это Jarek Duda придумал свой ANS и потом пополам с спецами по сжатию прикрутили все это к реальным алгоритмам. Так появился FSE.
| |
|
1.45, arisu (ok), 10:10, 02/09/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
словари рулят. берёшь, значит, весь исходный файл, и засовываешь его в словарь. БУМ! всех порвал, мегасжатие, скорость потрясающая, памяти почти не требует.
вообще, многопроходное сжатие — скучное читерство.
| |
|
2.57, Аноним (-), 18:21, 03/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
> вообще, многопроходное сжатие — скучное читерство.
А в каком месте optimal parsing например - читерство?
| |
|
3.60, arisu (ok), 18:54, 03/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
>> вообще, многопроходное сжатие — скучное читерство.
> А в каком месте optimal parsing например - читерство?
именно в том. читерство и есть, к тому же ещё и тормозное.
| |
|
2.62, нах (?), 10:02, 05/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
> словари рулят. берёшь, значит, весь исходный файл, и засовываешь его в словарь
если вы внимательно прочитали статью - там именно так и сделано (только не файл, а файлы)
Сам словарь предусмотрительно вынесен в ../, поэтому к размеру сжатых данных не отнесен.
То есть не как у гугля - потренировали на своих данных, и потом жмем любые похожие (и фейлимся на похожих, но недостаточно похожих), а именно словарь под эти конкретные.
> вообще, многопроходное сжатие — скучное читерство.
вообще - нет. Читерство начинается, когда размер такого словаря и время на его создание "как-то вот забыли учесть".
Для данных которые "сжимаются один раз, распаковываются тыщу" нет ничего ужасного в том, что при сжатии тратится время на словарь. До тех пор, пока однопроходное сжатие не оказывается только на пару процентов хуже ;-)
В общем, совершенно загадочно, зачем им это понадобилось - когда и честное сравнение в их пользу.
| |
|
3.63, arisu (ok), 10:37, 05/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
дык я не говорил, что оно всё плохо. я сказал, что оно скучное читерство. лично мне хватает zlib, который всё равно уже есть в любой системе, а нет — так разжиматель после deflate пишется в несколько килобайт. поэтому я интересуюсь остальным чисто с точки зрения: «а это интересно?» неа, неинтересно: и не ново, и не особо впечатляет, и к тому же для лучшего сжатия рекомендуют читерить. скука.
p.s. zlib, кстати, тоже умеет в 'deflateSetDictionary()' и 'inflateSetDictionary()'.
| |
|
|
|