为了账号安全,请及时绑定邮箱和手机立即绑定

Go 中 ASM 函数调用的开销

Go 中 ASM 函数调用的开销

Go
元芳怎么了 2021-09-27 20:47:24
我目前在玩 go,它的汇编、浮点运算性能 ( float32) 和纳秒级的优化。我对一个简单的函数调用的开销有点困惑:func BenchmarkEmpty(b *testing.B) {    for i := 0; i < b.N; i++ {    }}func BenchmarkNop(b *testing.B) {    for i := 0; i < b.N; i++ {        doNop()    }}doNop的实现:TEXT ·doNop(SB),0,$0-0    RET结果(go test -bench .):BenchmarkEmpty        2000000000               0.30 ns/opBenchmarkNop  2000000000               1.73 ns/op我不习惯组装和/或 go 的内部结构。go编译器/链接器可以内联汇编中定义的函数吗?我可以以某种方式给链接器一个提示吗?对于一些简单的函数,比如“添加两个 R3 向量”,这会消耗所有可能的性能提升。(转到 1.4.2,amd64)
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 245 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信