Google的Go語言速度提升
在經過三個月的公開測試后,Go 語言 1.3 發布了。相對于 1.2,新版本在語言方面沒有變化,主要帶來了性能提升,支持在原生客戶端下運行命令行程序,以及其他一些增強。
最有趣的一些性能和實現上的變化:
- Go 語言運行時的棧從分段內存模型改成了連續內存模型
- 垃圾回收更快了:使用并發的清理算法,這種算法能更好地并行處理垃圾回收,具有更大的內存頁;垃圾回收帶來的停頓時間下降了 50-70%。現在也已經可以精確地查看棧上的變量值了
- 運行時庫更高效地處理 defer 語句
- 競爭檢測器速度提升了 40%
- Regexp(正則表達式的軟件包)現在有了一個新的執行引擎,它使用 one-pass 算法,能更快地執行特定的簡單的表達式
- sync.Pool:一種新的類型,對于可能被系統回收內存的緩存,這種類型提供了高效的實現機制
- 對小型 map 數據類型(不超過 8 個元素)的迭代不再以固定的順序進行,這么做是為了防止開發人員寫的代碼依賴于迭代順序,因為這種代碼只有在特定的系統上才能正常工作 </ul>
- godoc 現在可以對它索引的代碼進行靜態分析
- 用 Go 語言重寫了 misc/benchcmp(性能測試工具)
- 重構了編譯器和鏈接器,指令選擇階段被移到了編譯器中,這樣做能加速大型項目的增量編譯時間
- gc 工具鏈現在支持在英特爾的 32 位和 64 位體系結構上使用原生客戶端(NaCI)執行沙箱。注意 Go 1.3 產生的二進制文件還是不能在 Google Chrome 中直接執行 </ul>
還有一些工具方面的改進:
還修復了 crypto/tls 的一個安全問題。
你可以從發行說明中獲得所有更新的更多信息。
來自: InfoQ
<span id="shareA4" class="fl">
</span>
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!