对不起......(过早的)优化是所有邪恶的根源,但我想知道:拥有一个jmp指令而不是拥有它(无分支代码)需要多少钱?我正在学习如何计算这些东西的方法.这纯粹是探索性的,不实用,我试图找到理论问题的方法,我的测试代码提出了这个问题.谢谢.
如果你真的想知道,你必须在你的架构上测试它.
但总的来说,在现代处理器上,无条件跳转的成本最低.除了极少量的指令缓存开销外,它基本上是免费的.它可能会与相邻指令并行执行,因此甚至可能不会花费您一个时钟周期.这是因为跳转可以由几个并行执行单元中的一个执行.
以这种方式看待 - 主内存的单次读取可能要贵100-200倍.
它更普遍地是分支预测的子集,但是没有分支错误预测的风险,因此您不必刷新指令管道,这是与条件跳转相关的主要成本.
| 归档时间: |
|
| 查看次数: |
2257 次 |
| 最近记录: |