go 1.17改进编译器提升程序执行性能 – 十轮网-九游会官网真人游戏第一品牌

go团队发布了最新版本1.17,这个版本改进了编译器,在传递函数参数和结果,使用了新的方法,而这项改进使得go程序的性能得以提高约5%,amd64平台的二进制文件大小减少2%,官方提到,未来版本还会支持更多的平台。另外,go 1.17还增加对windows上64位元arm架构的支持,因此go程序可以在更多的设备上原生运行。

这个新版本使用了修整过后的模块图(module graphs),在go 1.17或是更高的版本,开发者于go.mod文件中指定模块,则模块图将会仅包含其他go 1.17模块的直接相依项目,而非完整的递移相依(transitive dependency)项目,这将有助于避免下载或是读取go.mod文件,取用不相关的相依项目,可有效节省日常开发时间。

在语言功能上,go 1.17有3个小改动,前两个是unsafe组件中的新函数,能使程序更容易遵循unsafe.pointer规则,分别是unsafe.add,允许安全地指标运算,还有unsafe.slice,则能够安全地将指标转换成为切片(slice)。第3个变化是语言类型转换规则的扩展,允许切片转换为数组指标,不过这项操作的前提是,切片在执行时至少要和数组一样大。

发表评论