C语言 是否有可能帮助分支预测?[副本]

5m1hhzi4  于 2023-06-21  发布在  其他
关注(0)|答案(2)|浏览(92)

此问题已在此处有答案

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天前关闭。
你是否可以故意以特定的方式编写代码,以便分支预测器将选择大多数情况下的选项。例如,错误检查是否加载了资源。如果这是可能的,你如何利用这一点为你的优势?

ma8fv8wu

ma8fv8wu1#

如果你正在使用GCC,你可以使用宏likely()/unlikely()

h5qlskok

h5qlskok2#

理论上是的有效地说不。你不会真的得到任何好处,自己尝试一下。
随着现代硬件的工作方式,无论你做什么,你的CPU仍然会磨掉所有的分支。但这并不重要,因为它们会同时进行。
如果你想自己做,你需要使用汇编语言。上面显示的编译器提示不会有太大作用。

相关问题