Go 1.7 正式發布,改進編譯器和鏈接器

jopen 8年前發布 | 12K 次閱讀

Go 1.6發布

在發布了 6 個 rc 版本之后,Go 1.7 終于正式發布了。

Go 現在的發布周期基本是半年一個版本( https://github.com/golang/go/wiki/Go-Release-Cycle ),新的功能特性的開發主要集中在前 3 個月,之后會凍結起來,原則上只接受 bug 修復和文檔更新,最終完成測試和發布。

Go 1.7 的變化主要在工具鏈、運行時和庫的實現上。語言規范只有一處很小的變化。

編譯工具鏈方面,引入 SSA 應該是新版本最大的特性之一。“開發資訊”之前也介紹過該特性:引入SSA之后,Go語言程序的執行性能將明顯提升 。引入該特性之后,編譯器能夠生成更緊湊、執行更高效的代碼。該特性默認開啟,可以使用“-ssa=0”參數關閉。基準測試表明,編譯的 Go 程序執行時間可減少 5-35%。

包中的元數據格式從之前的文本格式修改為更緊湊的二進制格式。生成的包會更小。可以通過“-newexport=0”關閉該特性。

得益于編譯器和鏈接器的改進,使用 Go 1.7 構建的二進制文件通常會比使用 Go 1.6 構建的小,有些情況下減少會多達 20-30%。

性能是不變的主題,通過新的編譯器后端,以及對垃圾收集器和核心庫的優化,大部分程序都會運行得更快。

國外最受歡迎的游戲流媒體視頻網站 Twitch 的很多系統中就用到了 Go。根據 Twitch 工程師 Rhys Hiltner 的博客,他們使用了 6 月的 Go 1.7 預發布版本,在沒有手動調優的情況下,GC 停頓時間都有更好的表現。就 Twitch 的聊天系統而言,通常停頓時間接近 1 毫秒,與調優過的 1.6 相比,都有 10 倍提升。

支持的系統方面,增加了對 macOS 10.12 Sierra 的支持。

更多細節見 Go 1.7 發布說明:https://tip.golang.org/doc/go1.7

如果對 Go 1.8 感興趣,可以查看 https://groups.google.com/d/topic/golang-dev/098vr4999Tk/discussion

這里的討論。

出處:微信公眾平臺:開發資訊 ,作者:臧秀濤 

 

軟件下載地址(需要梯子):

https://golang.org/dl/

 

國內網盤下載:

Golang 1.7 正式版下載

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!