在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Go 1.21的PGO正式GA,性能提升,更快更猛!

OSC開源社區 ? 來源:OSC開源社區 ? 2023-06-28 16:47 ? 次閱讀

Go 1.21 首個 RC 已發布。

雖然這是 Go 1.21 的第一個 RC,但它的版本號卻是go1.21rc2。因為開發團隊在為 RC1 打上 tag 后就發現了一個 bug,所以他們馬上基于該版本進行了修復并發布更新。

2cf80ca8-14d6-11ee-962d-dac502259ad0.png

Go 1.21 主要變化包括:提升性能、改進工具鏈和添加新的標準庫,以及語言方面的變更。

其中值得關注的一大更新是——在 1.20 中處于預覽階段的啟用配置文件引導優化 (PGO) 功能現已正式 GA。

2d344fce-14d6-11ee-962d-dac502259ad0.png

Profile-guided optimization (PGO) 是計算機編程中的一種編譯器優化技術,翻譯過來是使用配置文件引導的優化。

PGO 也被稱為:

Profile-directedfeedback (PDF)

Feedback-directed optimization (FDO)

它的原理是編譯器使用程序的運行時 profiling 信息,生成更高質量的代碼,從而提高程序的性能。

PGO 作為一項通用的編譯器優化技術,不局限于某一門語言。比如Rust 編譯器也在探索使用 PGO,微軟則采用LTO+PGO 來優化 Linux 內核。

在 Go 語言中,最初關于 PGO 的提案是建議向 Go GC 工具鏈增加對配置文件引導優化 (PGO) 的支持,以便工具鏈能根據運行時信息執行特定于應用程序和工作負載的優化。

對于剛剛發布的 Go 1.21,根據 Go 團隊的介紹,如果主軟件包目錄中存在名為default.pgo的文件,go命令將使用它來啟用 PGO 構建。

他們還測試了 PGO 對多種 Go 程序的影響,發現性能提高了 2-7%。

此外,Go 編譯器本身已經在 1.21 中啟用 PGO 進行了重建,因此它構建 Go 程序的速度也提高了 2-4%,不過這具體取決于主機架構。

Go 1.21 其他變化:

語言變更

添加新的內置函數:min, max 和 clear

對泛型函數的類型推斷進行了多項改進,包括擴展和解釋清楚規范中類型推斷的描述

在未來版本中,開發團隊計劃解決 Go 編程中最常見的問題之一:循環變量捕獲 (loop variable capture)。Go 1.21 附帶了此功能的預覽版,目前可以使用環境變量在代碼中啟用該功能。

添加新的標準庫

log/slog 包:用于結構化日志記錄

slices 包:增用于對任何元素類型的切片進行常見操作,這個包比 sort 包更快、更符合人體工程學

maps 包:用于對任何類型 key-value 進行常見操作

cmp 包:用于比較有序值 (ordered values)

優化性能

除了啟用 PGO 時的性能改進之外:

Go 編譯器本身已經在 1.21 中啟用 PGO 進行了重建,因此它構建 Go 程序的速度提高了 2-4%,具體取決于主機架構

由于垃圾收集器的調整,某些應用程序的尾部延遲可能會減少高達 40%

現在使用runtime/trace收集跟蹤在 amd64 和 arm64 上產生的 CPU 開銷要小得多

支持 WASI

Go 1.21 已實驗性支持WebAssembly System Interface (WASI), Preview 1 (GOOS=wasip1,GOARCH=wasm)。

為了方便編寫更通用的 WebAssembly (WASM) 代碼,編譯器還支持從 WASM 主機導入函數的新指令:go:wasmimport。

提到 WebAssembly,剛好本周六 (7.1)舉辦的「源創會」有一個和它相關的演講分享。

演講主題:Moonbit 編程語言平臺簡介

主題內容:Moonbit 是由張宏波老師帶領的基礎軟件中心團隊開發的一個專為云計算、邊緣計算設計的編程語言平臺,這個項目包括了面向 WebAssembly 生態設計的一款應用型編程語言及其相關完整的配套工具鏈。

本次演講主要介紹這個項目動機背景、宏觀方向上的設計考量,以及目前的進展,并且會有現場 demo 進行一些編程語言特性的演示。

嘉賓介紹:張鈺,粵港澳大灣區數字經濟研究院開發工程師,Moonbit 平臺核心開發人員,編程語言理論愛好者

是的,我們正式重啟了和大家闊別已久的「源創會」——2023 年首場于本周六(7.1)在深圳舉辦,誠邀各位 oscer 們前來赴約。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編譯器
    +關注

    關注

    1

    文章

    1649

    瀏覽量

    49682
  • go語言
    +關注

    關注

    1

    文章

    158

    瀏覽量

    9219

原文標題:Go 1.21的PGO正式GA,性能提升,更快更猛!

文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    BK150-800S35GA1D6 BK150-800S35GA1D6

    電子發燒友網為你提供AIPULNION(AIPULNION)BK150-800S35GA1D6相關產品參數、數據手冊,更有BK150-800S35GA1D6的引腳圖、接線圖、封裝手冊、中文資料、英文
    發表于 03-21 18:38
    BK150-800S35<b class='flag-5'>GA</b>1D6 BK150-800S35<b class='flag-5'>GA</b>1D6

    DA10-220E0524GA9N4 DA10-220E0524GA9N4

    電子發燒友網為你提供AIPULNION(AIPULNION)DA10-220E0524GA9N4相關產品參數、數據手冊,更有DA10-220E0524GA9N4的引腳圖、接線圖、封裝手冊、中文資料
    發表于 03-18 18:53
    DA10-220E0524<b class='flag-5'>GA</b>9N4 DA10-220E0524<b class='flag-5'>GA</b>9N4

    FA10-220S24GA2N4 FA10-220S24GA2N4

    電子發燒友網為你提供AIPULNION(AIPULNION)FA10-220S24GA2N4相關產品參數、數據手冊,更有FA10-220S24GA2N4的引腳圖、接線圖、封裝手冊、中文資料、英文資料,FA10-220S24GA2
    發表于 03-18 18:51
    FA10-220S24<b class='flag-5'>GA</b>2N4 FA10-220S24<b class='flag-5'>GA</b>2N4

    DA5-220E0524GA9N4 DA5-220E0524GA9N4

    電子發燒友網為你提供AIPULNION(AIPULNION)DA5-220E0524GA9N4相關產品參數、數據手冊,更有DA5-220E0524GA9N4的引腳圖、接線圖、封裝手冊、中文資料、英文
    發表于 03-18 18:44
    DA5-220E0524<b class='flag-5'>GA</b>9N4 DA5-220E0524<b class='flag-5'>GA</b>9N4

    上海光機所在n型β-Ga2O3單晶光電性能調控方面取得進展

    Letters。 β-Ga2O3作為新型極/超寬禁帶半導體材料,性能優異、應用廣泛、潛力巨大。Ga2O3單晶作為功率器件應用的前提是需要有效的對β-電學性能進行調控,因此
    的頭像 發表于 02-28 06:22 ?233次閱讀
    上海光機所在n型β-<b class='flag-5'>Ga</b>2O3單晶光電<b class='flag-5'>性能</b>調控方面取得進展

    EE-306:PGO linker-面向Blackfin處理器的代碼布局工具

    電子發燒友網站提供《EE-306:PGO linker-面向Blackfin處理器的代碼布局工具.pdf》資料免費下載
    發表于 01-05 09:43 ?0次下載
    EE-306:<b class='flag-5'>PGO</b> linker-面向Blackfin處理器的代碼布局工具

    汽車制動系統如何提升剎車性能

    汽車制動系統的剎車性能是確保行車安全的關鍵因素之一。為了提升剎車性能,可以從以下幾個方面進行改進和優化: 一、選用高性能制動部件 剎車片 : 原廠剎車片通常采用少金屬配方,摩擦系數較低
    的頭像 發表于 11-28 09:47 ?1017次閱讀

    NPU技術如何提升AI性能

    設計的處理器,與傳統的CPU和GPU相比,它在執行深度學習任務時具有更高的效率和更低的能耗。NPU通過專門優化的硬件結構和指令集,能夠更快地處理神經網絡中的大量并行計算任務。 1. 優化硬件架構 NPU技術通過優化硬件架構來提升AI性能
    的頭像 發表于 11-15 09:11 ?1120次閱讀

    CDCE949如何使用Clock Pro 1.21來計算寄存器的值,并導出配置信息呢?

    如何使用 Clock Pro 1.21來計算寄存器的值,并導出配置信息呢?使用這個軟件脫機運行一直不能輸入信息。
    發表于 11-13 07:58

    go語言如何解決并發問題

    作為一個后端開發,日常工作中接觸最多的兩門語言就是PHP和GO了。無可否認,PHP確實是最好的語言(手動狗頭哈哈),寫起來真的很舒爽,沒有任何心智負擔,字符串和整型壓根就不用區分,開發速度真的是比
    的頭像 發表于 10-23 13:38 ?331次閱讀
    <b class='flag-5'>go</b>語言如何解決并發問題

    韓國服務器的性能如何提升

    韓國服務器的性能可以通過硬件升級、網絡優化、緩存優化和軟件優化來提升。具體方法如下,rak小編為您整理發布韓國服務器的性能如何提升
    的頭像 發表于 08-15 11:33 ?372次閱讀

    三十分鐘入門基礎Go Java小子版

    前言 Go語言定義 Go(又稱 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 開發的一種靜態、強類型、編譯型語言。Go 語言
    的頭像 發表于 08-12 14:32 ?867次閱讀
    三十分鐘入門基礎<b class='flag-5'>Go</b> Java小子版

    聯想將推出搭載AMD Z1系列處理器的Legion Go拯救者掌機“Lite”版

     據WindowsCentral報道,相關知情人士透露,聯想正研發Legion Go拯救者掌機的“Lite”版本,將采用AMD Z1系列處理器,性能較上一代有所提升
    的頭像 發表于 05-27 17:45 ?999次閱讀

    如何修改Kernel Affinity提升openplc性能

    如何修改Kernel Affinity提升openplc性能
    發表于 05-22 06:36

    新火種AI|如何看待AI蹭熱點,合成假新聞?官方:治療AI亂象,務必下

    針對AI造謠亂象,官媒明確發聲:欲去“沉疴”還需“藥”。
    的頭像 發表于 04-19 21:59 ?349次閱讀
    新火種AI|如何看待AI蹭熱點,合成假新聞?官方:治療AI亂象,務必下<b class='flag-5'>猛</b>藥
    主站蜘蛛池模板: 欧美干色 | 夜夜夜爽| 成人国产一区二区 | 国产福利vr专区精品 | 色噜噜综合网 | 在线观看亚洲成人 | 日本三级黄色录像 | 婷婷综合五月 | 毛片一区| 免费网站黄成人影院 | 国产成人精品视频一区二区不卡 | www.丁香.com | 最好看的最新中文字幕2018免费视频 | 人人艹人人干 | 高清在线观看视频 | 国产爱搞| 婷色| 一级毛片在线播放 | 色噜噜狠狠大色综合 | 国产亚洲综合视频 | 国产一级爱c片免费播放 | 日韩特黄特色大片免费视频 | 天天干天天骑 | 激情婷婷综合 | 男人资源 | 不卡精品国产_亚洲人成在线 | 国产簧片 | 亚洲一区三区 | 成年网站在线在免费播放 | 国产美女一级高清免费观看 | 日韩特黄特色大片免费视频 | 国产色婷婷精品综合在线观看 | 韩国床戏合集三小时hd中字 | 日本免费观看完整视频 | 日本一级大片 | 天天做天天爽 | 伊人久久成人爱综合网 | 寄宿日记在线看 | 成人黄色三级 | 免费看很黄很色裸乳视频 | 色无五月 |