{"id":12354,"date":"2015-09-23T16:43:00","date_gmt":"2015-09-23T20:43:00","guid":{"rendered":"http:\/\/mjtsai.com\/blog\/?p=12354"},"modified":"2015-09-23T16:46:19","modified_gmt":"2015-09-23T20:46:19","slug":"brotli","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2015\/09\/23\/brotli\/","title":{"rendered":"Brotli"},"content":{"rendered":"<p><a href=\"http:\/\/google-opensource.blogspot.com\/2015\/09\/introducing-brotli-new-compression.html\">Zoltan Szabadka<\/a>:<\/p>\n<blockquote cite=\"http:\/\/google-opensource.blogspot.com\/2015\/09\/introducing-brotli-new-compression.html\"><p>While Zopfli is <a href=\"http:\/\/www.rfc-base.org\/rfc-1951.html\">Deflate<\/a>-compatible, Brotli is a whole new <a href=\"https:\/\/datatracker.ietf.org\/doc\/draft-alakuijala-brotli\/\">data format<\/a>. This new format allows us to get 20&#8211;26% higher compression ratios over Zopfli. In our study &lsquo;<a href=\"http:\/\/www.gstatic.com\/b\/brotlidocs\/brotli-2015-09-22.pdf\">Comparison of Brotli, Deflate, Zopfli, LZMA, LZHAM and Bzip2 Compression Algorithms<\/a>&rsquo; we show that Brotli is roughly as fast as <a href=\"http:\/\/www.zlib.net\/\">zlib&rsquo;s<\/a> Deflate implementation. At the same time, it compresses slightly more densely than <a href=\"https:\/\/en.wikipedia.org\/wiki\/Lempel%E2%80%93Ziv%E2%80%93Markov_chain_algorithm\">LZMA<\/a> and <a href=\"http:\/\/www.bzip.org\/\">bzip2<\/a> on the <a href=\"http:\/\/corpus.canterbury.ac.nz\/\">Canterbury corpus<\/a>. The higher data density is achieved by a 2nd order context modeling, re-use of entropy codes, larger memory window of past data and joint distribution codes. Just like Zopfli, the new algorithm is named after Swiss bakery products. Br&ouml;tli means &lsquo;small bread&rsquo; in Swiss German.<\/p><\/blockquote>\n<p>Previously: <a href=\"http:\/\/mjtsai.com\/blog\/2013\/02\/28\/zopfli\/\">Zopfli<\/a>, Apple&rsquo;s new <a href=\"http:\/\/mjtsai.com\/blog\/2015\/06\/09\/wwdc-2015-links\/\">Compression library and LZFSE<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Zoltan Szabadka: While Zopfli is Deflate-compatible, Brotli is a whole new data format. This new format allows us to get 20&#8211;26% higher compression ratios over Zopfli. In our study &lsquo;Comparison of Brotli, Deflate, Zopfli, LZMA, LZHAM and Bzip2 Compression Algorithms&rsquo; we show that Brotli is roughly as fast as zlib&rsquo;s Deflate implementation. At the same [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"","apple_news_api_id":"","apple_news_api_modified_at":"","apple_news_api_revision":"","apple_news_api_share_url":"","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[289,1279,357,51,74],"class_list":["post-12354","post","type-post","status-publish","format-standard","hentry","category-technology","tag-algorithm","tag-brotli","tag-compression","tag-google","tag-opensource"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/12354","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=12354"}],"version-history":[{"count":2,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/12354\/revisions"}],"predecessor-version":[{"id":12356,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/12354\/revisions\/12356"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=12354"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=12354"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=12354"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}