|
Google的Go语言需要编译速度 灰鸽子,灰鸽子下载
自2015年,当语言的编译器从C转换为Go时,较慢的编译时间阻碍了语言
Google的开源Go语言将通过计划的1.8版升级来提高编译时间。
详细介绍了Go的计划工具链改进,贡献者Dave Cheney说,1.8版本将于2月发布,预计将在1.7版本的基础上平均提高15%的编译率。这将有助于增加编译时间,这最近困扰了Go。
“自从2015年8月发布的Go 1.5以来,编译时间明显慢于Go 1.4,”Cheney说。 “关于解决这种减速的工作在Go 1.7周期中认真开始,目前仍在进行。这个困境出现在编译器从C转换为Go之后。
为了改进编译,语言的解析器被重写以使其更快,并删除从以前的yacc解析器继承的许多包级别的变量。 “这个解析器产生一个新的抽象语法树,而编译器的其余部分期望前面的yacc语法树,”Cheney说。 “对于1.8,新的解析器必须将其输出转换为先前的语法树,以供编译器的其余部分使用。虽然解析器带有一个额外的转换步骤,它不比以前的版本慢;这个转换要求应该在Go 1.9中删除,Cheney说。
为了提高代码生成,SSA后端现在支持更多的架构;它已经推出了英特尔64在Go 1.7。 “AMD64由于是最受欢迎的生产架构,一直是最快的,”Cheney说。结果比较Go 1.8到Go 1.7在英特尔架构上显示,改进的代码生成,转义分析改进和优化到标准库的中等改进同样改善,根据切尼。 Go 1.8还将支持32位Mips平台,这在Go 1.7中不被支持,并且将使用defer语句减少开销,defer语句延迟函数的执行,直到周围的函数返回。
Go,或许最知名的用于开发Docker容器平台,一直是语言流行的新星。
|
|