Comments 15
а фейсбучий Zstandard сравнивали?
В WAL-G нет поддержки Zstandard
В браузерах нет zstd
LZMA и LZ4 тоже нет :) хотя понятно что они тут в качестве референсов приводились
Но вообще говоря "в обратную сторону" тоже важно бывает пожать данные. И сейчас, похоже, gzip без альтернатив тут, потому что brotli и Zstandard никто не хочет реализовывать на js, потому что если "очень надо", то есть порт (кажется, через WebAssembly).
LZMA и LZ4 тоже нет
упустил как-то из внимание, что wal-g не про браузеры.
"в обратную сторону"
в смысле разжать? Не понял куда эта обратная сторона.
Реализовывать zstd на js дело довольно неблагодарное, и нетривиальное — весь профит от распараллеливания и оптимизаций скомпилированной версии нивелируются скоростью работы самого JS и его сборщика мусора. C wasm оно конечно побыстрее, тут недавно еще и simd подвезли (правда пока под флагом), но стоит ли овчинка выделки — вопрос довольно большой. Скомпилировать исходники в js/wasm без оптимизаций вроде можно без больших проблем.
Вообще тема компрессии без потерь это интересная тема.
Просто оставлю на заметку не только что используется в вебе:
- ZStandard вполне себе конкурент Brotli. Причем там словарь можно собственный создать, под свои данные, тем самым оптимизировать сжатие. Brotli кстати тоже имеет словарь, но он разрабатывался специально для веба, от того в словаре присутствуют только самые популярные общие совпадения (Html таги например)
- LZ4 — real-time алгоритм сжатия. Если у вас потоковое видео или стриминг и вам важно делать это быстро экономив тем самым трафик, то это то что нужно
- Блог Яна Коллета, создать двух алгоритмов выше. Он живее всех живых и до сих пор работает на общее благо.
- Если возникнет вопрос начиная с какого размера имеет смысл сжимать, то это 860байт. Подробнее здесь
А кто-то из браузерных вендоров пробовал прикручивать zstd в браузеры?
https://bugzilla.mozilla.org/show_bug.cgi?id=1301878
если кратко, то пока не хотят
там основной бенефит — со словарем, значит это нужно стандартизировать
а автор zstd говорит нет
но может быть когда-нибудь они еще и договорятся :)
Маловероятно, особенно учитывая что там еще есть некоторая муть с лицензированием/патентами.
caniuse.com/#feat=sdch
Через 21 год, в 2013 году, компания Google выпустила Brotli — новый алгоритм, который обещает даже более высокие уровни сжатия, чем те, на которые способен метод Gzip.Удивительно, правда? Никто не ожидал, что новые алгоритмы вдруг делаются более эффективными.
Эффективность Brotli в реальном мире