[讨论] Go 1.17改进编译器提升程式执行效能

楼主: EijiHoba (我要好工作)   2021-08-23 12:02:44
Go 1.17改进编译器提升程式执行效能
Go团队改进编译器,使得Go程式效能得以提升5%,amd64平台的二进制档案也更小
按赞加入iThome粉丝团
文/李建兴 | 2021-08-20发表
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个变化是语言类型转换规则的扩充,
允许切片转换为阵列指针,不过这项操作的前提是,切片在执行时至少要和阵列一样大。
https://www.ithome.com.tw/news/146303

Links booklink

Contact Us: admin [ a t ] ucptt.com