Zstandard

Поделись знанием:
Перейти к: навигация, поиск
Zstandard
К:Википедия:Статьи без изображений (тип: не указан)

Zstandard (Zstd) — алгоритм сжатия данных без потерь, разрабатываемый с 2015 Yann Collet («Cyan») при поддержке Facebook, и стандартная реализация этого алгоритма на языке программирования C. Версия 1.0 алгоритма была представлена в конце августа 2016 года[1][2].





Характеристики

Zstandard сочетает словарный алгоритм сжатия данных типа LZ77 и эффективное энтропийное кодирование типа tANS (FSE - Finite State Entropy), модификацию кода Хаффмана, реализующую нецелое количество бит для хранения символов[3][4].

Целью разработки является достижение коэффициентов сжатия, сопоставимых или превосходящих классический алгоритм deflate (разработан в середине 1990-х, реализован в Zip, gzip и других) при более высокой скорости как сжатия, так и распаковки. Сходные цели решают алгоритмы Brotli (Google) и LZFSE[fr] (Apple).

Алгоритм реализует 22 уровня сжатия, различающихся скоростью и эффективностью. Опционально алгоритм может проанализировать заданный набор данных для составления специализированных внешних словарей.

По данным LTCB, zstd 0.6 при максимальной степени сжатия показывает уровень сжатия, близкий к архиваторам boz, yxz, tornado; более высокий чем у lza, brotli, bzip2, обеспечивая при этом очень быструю распаковку (2.2 нс/байт на Core i7-3930K при 4.5 GHz)[5]

Лицензия

Эталонная реализация алгоритма на языке C, распространяется под свободной лицензией BSD[6]. Код опубликован на сайте Github.

См. также

Напишите отзыв о статье "Zstandard"

Примечания

  1. Sergio De Simone, [www.infoq.com/news/2016/09/facebook-zstandard-compression Facebook Open-Sources New Compression Algorithm Outperforming Zlib] / InfoQ, Sep 02, 2016
  2. [www.theregister.co.uk/2016/08/31/facebook_open_source_database/ Life imitates satire: Facebook touts zlib killer just like Silicon Valley's Pied Piper], The Register (31 августа 2016). Проверено 6 сентября 2016.
  3. chaos.if.uj.edu.pl/ZOA/files/semianria/chaos/28.04.2014.pdf
  4. arxiv.org/pdf/1311.2540.pdf
  5. Matt Mahoney. [mattmahoney.net/dc/text.html Large Text Compression Benchmark, .2157 zstd] (Aug. 29, 2016). Проверено 1 сентября 2016.
  6. [www.zdnet.com/article/facebook-open-sources-zstandard-data-compression-algorithm-aims-to-replace-technology-behind-zip/ Facebook open sources Zstandard data compression algorithm, aims to replace technology behind Zip] (англ.), ZDnet (August 31, 2016). Проверено 1 сентября 2016.
  7. [www.opennet.ru/opennews/art.shtml?num=44746 Компания Apple открыла реализацию алгоритма сжатия без потерь LZFSE] / Opennet.ru, 07.07.2016

Ссылки

  • [www.zstd.net Официальный сайт zstd.net]  (англ.)
  • [github.com/facebook/zstd Исходный код реализации]  (англ.)
  • [code.facebook.com/posts/1658392934479273/smaller-and-faster-data-compression-with-zstandard/ Smaller and faster data compression with Zstandard], Facebook code, 2016-08-31  (англ.)
  • [www.opennet.ru/opennews/art.shtml?num=45058 Facebook опубликовал реализацию алгоритма сжатия Zstandard 1.0] / Opennet.ru, 01.09.2016


Отрывок, характеризующий Zstandard

Князь Андрей не интересовался, видимо, этими отвлеченными разговорами.
– Нельзя, mon cher, [мой милый,] везде всё говорить, что только думаешь. Ну, что ж, ты решился, наконец, на что нибудь? Кавалергард ты будешь или дипломат? – спросил князь Андрей после минутного молчания.
Пьер сел на диван, поджав под себя ноги.
– Можете себе представить, я всё еще не знаю. Ни то, ни другое мне не нравится.
– Но ведь надо на что нибудь решиться? Отец твой ждет.
Пьер с десятилетнего возраста был послан с гувернером аббатом за границу, где он пробыл до двадцатилетнего возраста. Когда он вернулся в Москву, отец отпустил аббата и сказал молодому человеку: «Теперь ты поезжай в Петербург, осмотрись и выбирай. Я на всё согласен. Вот тебе письмо к князю Василью, и вот тебе деньги. Пиши обо всем, я тебе во всем помога». Пьер уже три месяца выбирал карьеру и ничего не делал. Про этот выбор и говорил ему князь Андрей. Пьер потер себе лоб.
– Но он масон должен быть, – сказал он, разумея аббата, которого он видел на вечере.
– Всё это бредни, – остановил его опять князь Андрей, – поговорим лучше о деле. Был ты в конной гвардии?…
– Нет, не был, но вот что мне пришло в голову, и я хотел вам сказать. Теперь война против Наполеона. Ежели б это была война за свободу, я бы понял, я бы первый поступил в военную службу; но помогать Англии и Австрии против величайшего человека в мире… это нехорошо…
Князь Андрей только пожал плечами на детские речи Пьера. Он сделал вид, что на такие глупости нельзя отвечать; но действительно на этот наивный вопрос трудно было ответить что нибудь другое, чем то, что ответил князь Андрей.
– Ежели бы все воевали только по своим убеждениям, войны бы не было, – сказал он.
– Это то и было бы прекрасно, – сказал Пьер.
Князь Андрей усмехнулся.
– Очень может быть, что это было бы прекрасно, но этого никогда не будет…
– Ну, для чего вы идете на войну? – спросил Пьер.
– Для чего? я не знаю. Так надо. Кроме того я иду… – Oн остановился. – Я иду потому, что эта жизнь, которую я веду здесь, эта жизнь – не по мне!


В соседней комнате зашумело женское платье. Как будто очнувшись, князь Андрей встряхнулся, и лицо его приняло то же выражение, какое оно имело в гостиной Анны Павловны. Пьер спустил ноги с дивана. Вошла княгиня. Она была уже в другом, домашнем, но столь же элегантном и свежем платье. Князь Андрей встал, учтиво подвигая ей кресло.
– Отчего, я часто думаю, – заговорила она, как всегда, по французски, поспешно и хлопотливо усаживаясь в кресло, – отчего Анет не вышла замуж? Как вы все глупы, messurs, что на ней не женились. Вы меня извините, но вы ничего не понимаете в женщинах толку. Какой вы спорщик, мсье Пьер.