我想知道在使用構建的生產環(huán)境中運行 go 程序是否有任何性能損失go build -race
1 回答

烙印99
TA貢獻1829條經驗 獲得超13個贊
您可以在https://go.dev/doc/articles/race_detector上描述 go race detector 的文章中閱讀它
引用那篇文章(最后一段):
運行時開銷
競爭檢測的成本因程序而異,但對于典型程序,內存使用量可能增加 5-10 倍,執(zhí)行時間可能增加 2-20 倍。
競爭檢測器目前為每個延遲和恢復語句額外分配 8 個字節(jié)。在 goroutine 退出之前,這些額外的分配不會被回收。這意味著,如果您有一個長時間運行的 goroutine,它會定期發(fā)出 defer 和 recover 調用,程序內存使用量可能會無限增長。這些內存分配不會顯示在 runtime.ReadMemStats 或 runtime/pprof 的輸出中。
- 1 回答
- 0 關注
- 125 瀏覽
添加回答
舉報
0/150
提交
取消