当前位置: 首页 > news >正文

网站相对路径 .热点新闻最新消息

网站相对路径 .,热点新闻最新消息,网页编辑实训报告,建设高校图书馆网站的意义errors包返回堆栈信息的性能测试 上一篇Golang中使用errors返回调用堆栈信息 讲了使用第三方开源库的errors github.com/go-errors/errors,错误信息带调用栈,方便定位错误的抛出位置。 通过堆栈的信息来定位是方便了,性能怎么样&#xff0c…

errors包返回堆栈信息的性能测试

上一篇Golang中使用errors返回调用堆栈信息 讲了使用第三方开源库的errors github.com/go-errors/errors,错误信息带调用栈,方便定位错误的抛出位置。

通过堆栈的信息来定位是方便了,性能怎么样,适不适合项目中使用就得实际跑跑结果。


简单与标准库的errors包的基准测试对比下:

err.go文件

import ("errors"e "github.com/go-errors/errors"
)func Err() error {return e.New("报错啦,抛出异常!!")
}func ErrNormal() error {return errors.New("报错啦,抛出异常!!")
}

err_test.go文件


import ("testing"
)func BenchmarkErr(b *testing.B) {for i := 0; i < b.N; i++ {Err()}
}func BenchmarkErrNormal(b *testing.B) {for i := 0; i < b.N; i++ {ErrNormal()}
}

执行Benchmark基准测试
go test -bench=".*"
基准测试

在本机环境测试结果下,1255 ns/op0.3250 ns/op, 将近1000多倍的耗时


多运行几次基准测试,通过对比工具直观对比看看,这里用基准测试报告对比工具

先安装对比工具
go install golang.org/x/perf/cmd/benchstat@latest

注意点

  1. 使用对比工具,两个基准测试函数名字要一致才可以,不一致会提示geomean,这里都命名为BenchmarkErr
  2. 基准测试运行的次数不足以提供足够的样本数量会提示need XX samples for...的提示, 可以通过加参数-count=次数指定运行基准测试次数

执行下调用Err第三方库的错误返回的基准测试, 运行10次,写到 Err.txt
go test -bench="BenchmarkErr" -count=10 > Err.txt

func BenchmarkErr(b *testing.B) {for i := 0; i < b.N; i++ {Err()}
}

再执行下调用ErrNormal标准库的错误返回的基准测试, 同样运行10次,写到 ErrNormal.txt
go test -bench="BenchmarkErr" -count=10 > ErrNormal.txt

func BenchmarkErr(b *testing.B) {for i := 0; i < b.N; i++ {ErrNormal()}
}

执行完两个基准测试后的文件如下

对比图

接下来,通过对比工具benchstat来对比两个基准测试文件
执行命令: benchstat Err.txt ErrNormal.txt

对比结果

结果显而易见,标准库 errors 的性能相比第三方库 go-errors/errors 接近百分百提升,由于go-errors/errors库会记录调用栈,耗时是会比较长。

具体适用就看性能要求,调试模式或者工具类的就无所谓,数据量大性能要求高的线上环境则不太建议。

(有错误的地方,请待纠正)

http://www.yayakq.cn/news/905648/

相关文章:

  • 天河建网站公司wordpress关闭会员
  • 网站底部版权html代码成都企业网站设计制作
  • 网站商城的公司运营结构今天军事新闻最新消息详细
  • 免费的舆情网站不需下载做网盘网站的成本
  • 成都专业手机网站建设服务平面作品集展示图片
  • dz论坛网站创建页面湖南网站建设优化
  • 长春建设厅官方网站请人建网站
  • 制作网站要不要域名专业的建站公司推广
  • 南昌企业网站制作惠州seo外包
  • 深圳营销型网站公司电话seo刷词工具在线
  • 网站免费进入窗口软件有哪些网络技术学什么
  • 网络营销意思seo排名网
  • 做企业网站排名优化要多少钱php在电子商务网站建设中的应用研究 戴书浩
  • 做跨境电商的网站做网站内嵌地图
  • 安徽手机版建站系统wordpress 首页显示分类文章
  • seo教学网站平面广告图片
  • 淮北网站开发公司网站建设有云端吗
  • 赶集的网站怎么做wordpress 主题数据
  • 襄阳旅游景点网站建设求购做网站
  • 模板建站代理电商网站建设的维护要多少钱
  • seo建站技巧seo网络推广招聘
  • 网站建设成本分析汕头建立网页公司
  • 中铁建设集团有限公司中标项目域名对seo的影响
  • 个人网站建设课程wordpress 图片模糊
  • 自己做网站卖东西ipad 网站开发工具
  • 网站建设通查询网站制作的常见布局
  • 网站建设任务执行书中国世界排名足球
  • 企业网站制作机构排名免费视频推广的软件有哪些
  • 中山古镇做网站的公司免费创建虚拟网站
  • 物流网站建设合同范本运行时间 wordpress