Google的Go語言速度提升

jopen 10年前發布 | 10K 次閱讀 Go語言

  英文原文:Google's Go Gets Faster

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