【文件属性】:
文件名称:gounwind:使用框架指针展开实验栈堆栈
文件大小:2KB
文件格式:ZIP
更新时间:2021-03-12 15:00:41
Go
狂风
gounwind是一个很小的Go库,它代替了 。 它的存在是为了说明从理论上讲,使用帧指针时,堆栈展开的简单性和快速性。
与runtime.Callers()相比,gounwind是:
〜快50
与
完全不安全的生产使用
无法识别内联函数
仅在64位平台
基准
下面的基准测试显示了展开具有16帧的堆栈的性能。 这些数字来自我的macOS机器,适用于Linux的Docker给了我非常相似的结果。
goos: darwin
goarch: amd64
pkg: github.com/felixge/gounwind
cpu: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
BenchmarkUnwind
BenchmarkUnwind/runtime
BenchmarkUnwind/runtime-12 1281306
【文件预览】:
gounwind-main
----go.mod(44B)
----README.md(1KB)
----gounwind.go(529B)
----gounwind_test.go(2KB)