优化 Go 编译:探索速度和大小增强的标志
编译 Go 程序通常涉及执行“go build myprogram.go”命令。这个过程将代码编译成可执行文件,但它是否允许包含优化标志?
官方 Go 编译器中的优化标志
与采用的方法相反gccgo,其中使用“-O2”和“-O0”标志,官方Go编译器不提供显式优化
Go 编译器优化
尽管没有用户控制的标志,Go 编译器还是会自动应用各种优化。这些优化记录在 Go wiki 上,包括:
禁用优化调试
虽然编译器在内部处理优化,但可以使用“gcflags”命令行标志禁用它们以进行调试。此标志启用特定的编译器设置,包括:
用法示例
要禁用 Go gc 编译器中的这两种优化,请使用以下命令:
go build -gcflags '-N -l' myprogram.go
结论
当 Go编译器不公开用户可控的优化标志,它在内部应用各种优化。但是,它提供了使用“gcflags”标志禁用优化的选项,允许开发人员在没有编译器强加的增强的情况下调试代码。
以上是如何优化 Go 编译速度和大小?的详细内容。更多信息请关注PHP中文网其他相关文章!