第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

golang 的 `set -x`:打印每個執(zhí)行的行?

golang 的 `set -x`:打印每個執(zhí)行的行?

Go
米琪卡哇伊 2023-01-03 11:23:50
是否有類似set -xgolang 的 shell 功能?我想查看執(zhí)行的每一行代碼。不應打印標準庫的行。
查看完整描述

2 回答

?
忽然笑

TA貢獻1806條經(jīng)驗 獲得超5個贊

您可以使用 pprof組合:

  • 概要分析,它可以幫助您了解誰調用了什么,調用了多長時間

http://img1.sycdn.imooc.com//63b3a0150001e76d10590681.jpg

ofabry/go-callvis也可以幫助查看調用圖)

  • 它的 Weblist 視圖顯示了每條已執(zhí)行的行及其成本:

http://img1.sycdn.imooc.com//63b3a021000135ce19510893.jpg

請參閱本指南中的“交互式分析” 。

這不會顯示按順序執(zhí)行的每一行,但允許您在運行后探索執(zhí)行的內容。


請注意,Go 1.20/1.21(2022 年第 4 季度/2023 年第 2 季度)將包括(因為接受了#55022):

Go 的配置文件引導優(yōu)化 (PGO)

Go 程序中的低效率可以通過分析工具(例如pproflinux profiler )來隔離perf。此類工具可以查明花費大部分執(zhí)行時間的源代碼區(qū)域。

與其他優(yōu)化編譯器(如 LLVM)不同,Go 編譯器尚未執(zhí)行Profile-Guided Optimization(PGO)。
PGO 使用有關代碼運行時行為的信息來指導編譯器優(yōu)化,例如內聯(lián)、代碼布局等。PGO 可以將應用程序性能提高 15-30% [LLVM、AutoFDO]。

在這個提案中,我們用 PGO 擴展了 Go 編譯器。

具體來說,我們將配置文件合并到編譯器的前端,以構建具有節(jié)點和邊權重(稱為WeightedCallGraph)的調用圖。Inliner 隨后使用WeightedCallGraph來執(zhí)行配置文件引導的內聯(lián),該內聯(lián)積極地內聯(lián)熱函數(shù)。

我們引入了一個配置文件引導的代碼專業(yè)化通道,它與 Inliner 緊密集成,并消除了熱代碼路徑中的間接方法調用開銷。

此外,我們使用相關的配置文件權重注釋 IR 指令,并將這些指令傳播到 SSA 級別,以促進配置文件引導的基本塊布局優(yōu)化,從而從更好的指令緩存和 TLB 性能中獲益。

最后,我們擴展了 Go 的鏈接器以直接使用配置文件并跨包邊界執(zhí)行函數(shù)重新排序優(yōu)化——這也有助于指令緩存和 TLB 性能。

pprof我們的 PGO 使用的配置文件格式與該工具生成的 protobuf 格式相同。這種格式足夠豐富,可以攜帶額外的硬件性能計數(shù)器信息,例如緩存未命中、LBR 等。Google
現(xiàn)有perf_data_converter的工具可以將perf.dataLinuxperf生成的profile.proto文件轉換為 protobuf 格式的文件。

Go 中將針對 PGO 提出一個新的編譯流程

http://img1.sycdn.imooc.com//63b3a03100014bb713670521.jpg

查看完整回答
反對 回復 2023-01-03
?
精慕HU

TA貢獻1845條經(jīng)驗 獲得超8個贊

由于 Go 是一種編譯語言,可執(zhí)行文件不包含任何原始源代碼,因此無法輸出。您最接近您想要的方法是在調試模式下運行您的 Go 項目并單步執(zhí)行每一行代碼。

這樣你就可以在運行時決定跳轉到一個函數(shù)或者只是執(zhí)行它并跳過它,因為調試器不會知道你認為什么是“標準庫”,什么應該逐行跟蹤,什么不是。

另一方面,Go 可以是帶有 go 例程的大量多線程,因此打印每條執(zhí)行的行可能會在一分鐘內變得一團糟(有時我有超過 100 個例程同時運行)。


查看完整回答
反對 回復 2023-01-03
  • 2 回答
  • 0 關注
  • 141 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號