前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Brotli 概述

Brotli 概述

作者头像
繁依Fanyi
发布2023-05-07 17:08:04
3300
发布2023-05-07 17:08:04
举报
文章被收录于专栏:繁依Fanyi 的专栏

Brotli 介绍

现代的网页通常包含了由大量的HTML, CSS和JavaScript代码编写的图片、视频或其他大型文件数据,导致了网页打开的速度很慢。如果能有一种好的压缩算法将这些内容和数据进行压缩后传输,那么用户只需要等待很短时间就可以完全加载整个页面上的内容。

Brotli 是 Google 在 2013 年底推出的一款开源通用数据压缩器,并在 Github 开源,现在已经被大多数知名浏览器和 Web 服务器采用。Brotli 的设计的主要目标是压缩 Internet 上的数据,这意味着它可以优化解码时使用的资源,同时实现最大的压缩密度。

Brotli 概述

  • Brotli 的编码器库提供了 12 个质量级别(从 0 到 11)。它们是⽤压缩速度换取压缩效率的压缩模式:更⾼质量的级别速度较慢,但会产⽣更好的压缩⽐。
  • 一个 Brotli 压缩⽂件由 元块(meta-blocks) 集合组成。每个元块最多可容纳 16MiB,由两部分组成:一个 数据部分(data part),它存储 LZ77 压缩的放⼊块,以及一个 标题(header),每个块的压缩遵循经典的 ①LZ77 压缩⽅案并由②计算具有良好的熵的 LZ77 解析和计算 LZ 短语的简洁编码这两个主要阶段组成

Brotli 的优势

Brotli 的优势体现在哪里呢?可以参考下图 Brotli 与其它压缩算法在三种不同情况下的对比情况。

  • 测试环境:以下结果的测试计算机搭载 Intel® Xeon® CPU E51650 v2,运行频率为 3.5 GHz,具有六个内核和六个额外的超线程上下⽂。运行 linux 3.13.0。所有编解码器均使⽤相同的编译器 GCC 4.8.4 在 O2 级别优化进行编译。

情况1:压缩Canterbury语料库的11个文件

此表显示了 Canterbury语料库上压缩算法的结果。Canterbury 语料库包含 11 个文件,我们显示了测量属性的几何平均值:压缩比压缩速度解压缩速度

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

情况2:压缩包含 93种不同语言的 1285个HTML文档

压缩算法对从 Internet 爬网的文档样本的结果。该示例包含 1285 个 HTML 文档,其中包含 93 种不同的语言。

在这里插入图片描述
在这里插入图片描述

情况3:压缩 enwik8文件

enwik8 文件上不同压缩算法的结果。

在这里插入图片描述
在这里插入图片描述

结果

  1. 质量级别(quality setting)为1的 brotli的压缩速度和解压缩速度与与质量级别为1的deflate相同,但brotli的压缩比deflate提高了 12% ~ 16%。
  2. 质量级别为9的 brotli 与 质量级别为9的deflate也大致相同,但 enwik8的解码速度提高了28%,压缩比提高了 13% ~ 21%。
  3. 质量级别为11的 brotli压缩速度明显快于 zopfli,压缩比高出 20% ~ 26%。

总结

Brotli 是一款非常优秀的通用数据压缩器,并在 GitHub 上开源,接下来一段时间将继续走在啃论文的道路上,努力学习相关压缩算法。

参考

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Brotli 介绍
  • Brotli 概述
  • Brotli 的优势
    • 情况1:压缩Canterbury语料库的11个文件
      • 情况2:压缩包含 93种不同语言的 1285个HTML文档
        • 情况3:压缩 enwik8文件
          • 结果
          • 总结
          • 参考
          相关产品与服务
          腾讯云服务器利旧
          云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档