91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何定制Go編譯器

發布時間:2021-10-09 16:36:44 來源:億速云 閱讀:142 作者:iii 欄目:編程語言

這篇文章主要介紹“如何定制Go編譯器”,在日常操作中,相信很多人在如何定制Go編譯器問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何定制Go編譯器”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

01 Uber 使用 Go 的情況

Uber 有數千個后端服務是使用 Go 實現的,它們運行在數百萬個 CPU 內核上。因此,對于 Uber 來說,詳細準確掌握 CPU  瓶頸至關重要。這不僅為了減少服務延遲,同時也能提高計算機運行效率。Uber 這個量級的規模,要求對代碼和微觀結構的影響有深入的了解。

02 定制 Go 編譯器

其實說定制 Go 編譯器有點不準確。主要是基于以上規模和要求,雖然 Go 內置了 Profiler,但這個 CPU Profiler 在基于 Linux  的系統上有嚴重的限制(也許在其他操作系統也有此問題,但 Uber 使用的是 Linux,其他機器并沒有測試驗證),同時內置的 Profiler 缺少掌握 CPU  瓶頸所需要的許多細節。

基于這些問題,Uber fork 了一份 github.com/golang/go 代碼,在其上建立一個定制的 Go Profiler,以便更符合  Uber 的需求和 Uber 的商業運營規模。

具體來說,Uber 通過將豐富的硬件性能監視特性集成到 Go 的缺省 pprof 分析器中來增強它。這提供了幾個關鍵好處:

能夠獲得更準確和精確的 Go 程序分析文件(profiles);

監控各種 CPU 事件的能力,比如緩存丟失、套接字間(NUMA)通信、 CPU 分支錯誤預測等等;

能夠以非常高的采樣頻率(最高可達 10 微秒)監控 Go 程序;

所以,Uber 定制的「Go 編譯器」其實只是增強了 Profiler。注意,對 Profiler  的使用并不需要改變,也就是說,對外的接口、使用的工具和分析都沒有變(比如堆棧屬性、調用圖和火焰圖等),只是增加了更多的數據。

增強版的 Profiler,Uber 稱之為 pprof++,這是帶有硬件性能計數器的解決方案。

具體增加了哪些 CPU 事件,Uber 給了一張圖,公開了最常見的一些事件。

如何定制Go編譯器

到此,關于“如何定制Go編譯器”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節
推薦閱讀:
  1. 定制EditText
  2. 定制checkbox

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

清水县| 德格县| 旌德县| 渭源县| 克山县| 五大连池市| 老河口市| 扎兰屯市| 三江| 廉江市| 阿拉善盟| 扶风县| 奉新县| 朝阳区| 湘潭县| 安吉县| 绵阳市| 新巴尔虎左旗| 信阳市| 永靖县| 竹山县| 茂名市| 乌恰县| 额济纳旗| 托克托县| 石首市| 绍兴县| 山东| 兴义市| 贺兰县| 哈密市| 资中县| 西平县| 霍邱县| 饶阳县| 于田县| 普格县| 方城县| 政和县| 齐齐哈尔市| 杂多县|