架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 836|回复: 2

[资料] .NET 6 测试 Gzip 和 Brotli 算法

[复制链接]
发表于 2023-9-17 10:45:34 | 显示全部楼层 |阅读模式
需求:现在 HTTP 新增了一个 Brotli 压缩算法,测试 Gzip 和 Brotli 算法。根据项目情况,文章中只测试解压速度。

Brotli 有 12 个压缩级别,从 0 到 11,其中 0 提供最快的压缩速度但压缩比最低,而 11 提供最高的压缩比但需要更多的计算资源和时间。在 5 年前最初实施 Brotli 时,我们确定 4 级压缩 提供了节省字节和压缩时间的平衡,而不会影响性能。压缩级别越高占用空间越小,但是销售的CPU和内存资源更多。

ASP.NET Core 中已经内置了 Brotli 算法,并不需要引用第三方包。(本文会引用第三方包:BrotliSharpLib 和内置的做下比较),配置如下:


ASP.NET Core Brotli 压缩调用流程:ResponseCompressionServicesExtensions -> AddResponseCompression -> ResponseCompressionProvider -> BrotliCompressionProvider -> BrotliStream。

QQ截图20230917103720.jpg QQ截图20230917103800.jpg

压缩级别枚举代码如下:

新建一个 .NET 6 控制台项目,基准测试代码如下:


测试结果如下:

QQ截图20230917102058.jpg

测试了一个 503kb 的文件,压缩后相差不大,都在 400kb 左右,结果发现 Gzip 的解压速度还是比 Brotli 快,应该与文件大小、.NET 版本、压缩级别、文件内容等因素有关系,总之,选择适合自己的场景才是最好的。

如果遇到如下错误:

Environment
  Summary -> Detected error exit code from one of the benchmarks. It might be caused by following antivirus software:
        - 360安全卫士 (C:\Program Files (x86)\360\360Safe\safemon\360tray.exe)
        - Windows Defender (windowsdefender://)
Use InProcessEmitToolchain or InProcessNoEmitToolchain to avoid new process creation.
解决方案


(完)





上一篇:【转】.NET 使用 Brotli 压缩和解压缩数据
下一篇:EF6 Required 允许空字符串但不允许空的特性
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2023-9-17 10:46:46 | 显示全部楼层

asp.net core 3.1 启用网站 Brotli 压缩算法
https://www.itsvse.com/thread-9532-1-1.html

.net/c# GZipStream 数据压缩
https://www.itsvse.com/thread-4240-1-1.html



FireShot Capture 006 - Squash Compression Benchmark.png
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2023-9-17 10:48:01 | 显示全部楼层
【转】.NET 使用 Brotli 压缩和解压缩数据
https://www.itsvse.com/thread-10662-1-1.html
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-5-21 06:03

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表