是否有可能帮助分支预测?

时间:2016-07-04 23:22:51

标签: java c++ c branch-prediction

您是否可以有意识地以特定方式编写代码,以便分支预测器将选择大多数情况下的选项。例如,错误检查资源是否已加载。如果可能的话,你怎么能利用这个优势呢?

2 个答案:

答案 0 :(得分:7)

如果您正在使用GCC,您可以使用宏`possible()/ impossible()':

likely()/unlikely() macros in the Linux kernel - how do they work? What's their benefit?

答案 1 :(得分:1)

理论上,是的。有效地说NO。你不会真正得到任何好处,亲自试试。

随着现代硬件的运行方式,无论您做什么,您的CPU仍然会磨掉所有分支。但它并不重要,因为他们会同时做到这一点。

要尝试自己动手,您需要使用汇编语言。上面显示的编译器提示不会做太多。