此问题已在此处有答案:
Is it possible to tell the branch predictor how likely it is to follow the branch?(7个回答)
How do the likely/unlikely macros in the Linux kernel work and what is their benefit?(11个答案)
4天前关闭。
你是否可以故意以特定的方式编写代码,以便分支预测器将选择大多数情况下的选项。例如,错误检查是否加载了资源。如果这是可能的,你如何利用这一点为你的优势?
2条答案
按热度按时间ma8fv8wu1#
如果你正在使用GCC,你可以使用宏
likely()/unlikely()
。h5qlskok2#
理论上是的有效地说不。你不会真的得到任何好处,自己尝试一下。
随着现代硬件的工作方式,无论你做什么,你的CPU仍然会磨掉所有的分支。但这并不重要,因为它们会同时进行。
如果你想自己做,你需要使用汇编语言。上面显示的编译器提示不会有太大作用。