猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
使用 -race 标志构建 go 程序是否有任何性能损失?
我想知道在使用构建的生产环境中运行 go 程序是否有任何性能损失
go build -race
繁星淼淼
浏览 82
回答 1
1回答
烙印99
您可以在https://go.dev/doc/articles/race_detector上描述 go race detector 的文章中阅读它引用那篇文章(最后一段):运行时开销竞争检测的成本因程序而异,但对于典型程序,内存使用量可能增加 5-10 倍,执行时间可能增加 2-20 倍。竞争检测器目前为每个延迟和恢复语句额外分配 8 个字节。在 goroutine 退出之前,这些额外的分配不会被回收。这意味着,如果您有一个长时间运行的 goroutine,它会定期发出 defer 和 recover 调用,程序内存使用量可能会无限增长。这些内存分配不会显示在 runtime.ReadMemStats 或 runtime/pprof 的输出中。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Go
响应式布局:Safari 上的拉伸图像
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续