【发布时间】:2021-01-23 20:35:15
【问题描述】:
如何使用环境变量来优化 go 二进制文件?
例如,对于 C 和 GCC,您可以将 CFLAGS="-O2 -march=znver1 设置为使用第 2 层优化进行构建,并针对 Zen 微架构进行特定优化。
我在 Golang 的文档中找不到等效的环境变量。
Go 确实提供了一种禁用它们的方法,但如果您使用 gccgo 作为编译器后端,则不指定使用哪一个。因此,它与其他关于 Go 优化标志的一般问题非常不同(例如Passing an optimization flag to a Go compiler?)
【问题讨论】:
-
Go 的编译器没有优化级别(只有禁用优化的选项,默认启用),并且针对构建目标的架构进行了优化,没有更具体的可用。跨度>
-
哦,我不知道!另外,我在某处看到如果使用 gccgo 构建,您可以添加优化。我说的对吗?
-
@Adrian GCC-GO 实际上可以优化特定架构的构建,因为它使用 GCC 的后端。
标签: go compilation environment-variables compiler-optimization gccgo