Jos*_*vin 5 optimization x86 assembly compilation micro-optimization
一个基本块是一个汇编代码片段,其中只有一个入口点和一个出口点(维基百科的链接也有更严格的定义).许多编译器优化过程依赖于编译器在将用户代码提供给优化器之前将其分解为基本块.
我很想知道非局部效应会影响基本块本身的性能.通过非局部效应,我的意思是基本块之外的代码如何在它可能影响其运行时间之前运行,或者代码在内存中的布局方式可能会影响它.这比限制循环,分支等任意程序的性能更具限制性.
程序的其他部分,包括内存和指令缓存,我头顶缓存的使用似乎是最大可能的非局部效应.也是先前执行的指令或当前飞行中的早期指令的流水线设置的状态.我特别感兴趣的是x86/x86-64,但对其他架构的影响似乎也值得了解.还有其他非局部效应吗?
这是一个简短的清单:
玩得开心.
| 归档时间: |
|
| 查看次数: |
122 次 |
| 最近记录: |