获得徽章 0
#青训营 x 字节后端训练营#
Go 官方库的第三方开源库学习
fasthttp库:
1.比官方的net/http 库快十倍
2.fasthttp库的核心思路:资源复用
. 复用 goroutine,减轻 runtime 调度压力
. 对象复用,大量使用 sync.Pool 减轻 GC 压力
3.使用 fasthttp 的知名项目:Fiber、Gearbox、atreugo 等

jsoniter库
1.jsoniter(json-iterator)(JSON 解析器),比标准库(encoding/json)快了6倍多
2.与标准库 encoding/json 完全兼容

gogo/protobuf
1.Protocol Buffers 是一种协议格式
2.功能:用于高效存储与读取结构化数据;可以将数据压缩更小(原因:基于二进制)
3.是基于官方库 golang/protobuf 的增强
. 比 golang/protobuf 更快地序列化与反序列化
. 更规范的 Go 结构
. 兼容 官方库 golang/protobuf
. 可选地生成额外的帮助代码,减少代码输入
. 可以生成测试代码和 benchmark 代码
. 其他序列化格式

valyala/quicktemplate 库
1.Go 模板渲染引擎
2.比标准库 html/template 快20倍以上。原因:quicktemplate 会先将编写的模板代码转换为 Go 语言代码,再进行渲染
3.quicktemplate 与 Go 的语法非常类似
4.几乎所有的 bug 都能再模板编译时被捕获
5.模板中可以嵌入任意 Go 代码
6.quicktemplate 的主要目的是生成 HTML,但也可从实现 JSON 和 XML 序列化(序列化通常会比通过标准库 encoding/json 与 encoding/xml 更快)

注意:第三方库是在官方库解决不了的时候再尝试使用
展开
Scora_liu于2023-05-12 08:32发布的图片
Scora_liu于2023-05-12 08:32发布的图片
评论