Pull to refresh

Comments 15

Тестировал Brotli при сжатии бекапов PostgreSQL при использовании WAL-G:
image
Brotli сопоставим по размеру с LZMA, но бекап выполняется за время LZ4.

а фейсбучий Zstandard сравнивали?

В WAL-G нет поддержки Zstandard

LZMA и LZ4 тоже нет :) хотя понятно что они тут в качестве референсов приводились


Но вообще говоря "в обратную сторону" тоже важно бывает пожать данные. И сейчас, похоже, gzip без альтернатив тут, потому что brotli и Zstandard никто не хочет реализовывать на js, потому что если "очень надо", то есть порт (кажется, через WebAssembly).

LZMA и LZ4 тоже нет

упустил как-то из внимание, что wal-g не про браузеры.


"в обратную сторону"

в смысле разжать? Не понял куда эта обратная сторона.
Реализовывать zstd на js дело довольно неблагодарное, и нетривиальное — весь профит от распараллеливания и оптимизаций скомпилированной версии нивелируются скоростью работы самого JS и его сборщика мусора. C wasm оно конечно побыстрее, тут недавно еще и simd подвезли (правда пока под флагом), но стоит ли овчинка выделки — вопрос довольно большой. Скомпилировать исходники в js/wasm без оптимизаций вроде можно без больших проблем.

Не понял куда эта обратная сторона.

В обратную сторону — это не передавать с фронта на бэк мегабайты несжатых данных.


Реализовывать zstd на js дело довольно неблагодарное

Ну brotli тоже не хотят на js реализовывать. :) Но да, я думаю там примерно те же проблемы, только с другого боку.

Вообще тема компрессии без потерь это интересная тема.
Просто оставлю на заметку не только что используется в вебе:


  • ZStandard вполне себе конкурент Brotli. Причем там словарь можно собственный создать, под свои данные, тем самым оптимизировать сжатие. Brotli кстати тоже имеет словарь, но он разрабатывался специально для веба, от того в словаре присутствуют только самые популярные общие совпадения (Html таги например)
  • LZ4 — real-time алгоритм сжатия. Если у вас потоковое видео или стриминг и вам важно делать это быстро экономив тем самым трафик, то это то что нужно
  • Блог Яна Коллета, создать двух алгоритмов выше. Он живее всех живых и до сих пор работает на общее благо.
  • Если возникнет вопрос начиная с какого размера имеет смысл сжимать, то это 860байт. Подробнее здесь

А кто-то из браузерных вендоров пробовал прикручивать zstd в браузеры?

Маловероятно, особенно учитывая что там еще есть некоторая муть с лицензированием/патентами.

в Гугл CDCH закопали в июне 2017 года, не думаю что подорвутся откапывать тему словарей.
caniuse.com/#feat=sdch
Через 21 год, в 2013 году, компания Google выпустила Brotli — новый алгоритм, который обещает даже более высокие уровни сжатия, чем те, на которые способен метод Gzip.
Удивительно, правда? Никто не ожидал, что новые алгоритмы вдруг делаются более эффективными.
Иногда делают чтобы был такой же эффективный по сжатию или чуть хуже, но чтобы работал быстрее
Да вообщем-то даже и в пределах «одного алгоритма» нередко дилемма «количество памяти» vs «процессорное время». В известных архиваторах вон для пользователей специально предустановки параметров сделаны — чтобы можно было выбирать «паковать кое-как, но быстро» или «паковать долго, но упорото».
Sign up to leave a comment.