是否有可能帮助分支预测
Is it possible to aid branch prediction?
您是否可以有意地以一种特定的方式编写代码,以便分支预测器将选择大多数情况下都会出现的选项?例如,error检查是否加载了资源。如果这是可能的,你如何利用这一点为你的优势?
如果您正在使用GCC,您可以使用宏likely()/unlikely()
.
理论上是的。有效地说不。你不会真正得到任何好处,你自己试试吧。
以现代硬件的工作方式,无论你做什么,你的CPU仍然会磨出所有的分支。但这并不重要,因为它们会并发地执行。
要尝试自己做,你需要使用汇编语言。如上所示的编译器提示不会有太大作用。
相关文章:
- 如何确保在使用基于布尔值的两个方法之一调用方法时避免分支预测错误
- std::shared_ptr vs std::make_shared:意外的缓存未命中和分支预测
- 如何禁用分支预测C++/Mac/英特尔
- 这种方法是否对分支的预测产生了影响
- C++ 中的可移植分支预测提示
- 常量条件的分支预测
- 分支预测和分支目标预测之间的性能差异
- 分支预测与分支目标预测
- 分支预测优化
- 分支预测的加速是否取决于谓词的复杂性?
- 我可以在现代英特尔酷睿CPU上测量分支预测故障吗
- 分支预测变量结果是否在流程使用其时间片后保存
- 分支预测 - 全球份额实施说明
- 为什么我不是分支预测的受害者
- 函数指针上的分支预测
- 分支预测及分支目标预测优化
- 分支预测与除零
- c++分支预测算法比较
- 是否有可能帮助分支预测
- 编译器有一定的优化启发式来支持分支预测吗?如果没有,为什么没有呢?