[討論] 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