如何在基准测试中击败 Go 优化器?

在 Rust 中,您可以使用该black_box函数强制编译器

  1. 假设使用了函数的参数(强制它不优化生成该值的代码)

  2. 无法检查其返回值是如何产生的(防止它进行常量折叠和其他此类优化)。

Go 中是否有类似的工具(完成任一任务)?


回首忆惘然
浏览 183回答 2
2回答

白猪掌柜的

Go 中是否有类似的工具(完成任一任务)?不。如果要使用结果:分配给导出的全局。

海绵宝宝撒

runtime.KeepAlive根据以下 Github 问题,我认为是推荐的。不幸的是,尚不清楚函数参数是否存在任何东西,或者是否KeepAlive可以保证工作。https://github.com/golang/go/issues/27400
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go