【发布时间】:2011-11-28 07:25:06
【问题描述】:
gcc 功能 likely/unlikely hints 帮助编译器生成具有更好分支预测的机器代码。
是否有关于正确使用或未使用这些提示如何影响某些真实系统上真实代码性能的数据?
【问题讨论】:
-
我认为不会有强大的指标,因为它是一个微优化,它取决于提示正确与否的频率、@ 中二进制代码的大小987654322@ 块,甚至可能是月相
-
基本上这映射到 CPU 的分支预测器;二进制代码的大小无关紧要。
-
对于性能我没有基准,但我可以说由 gcc 生成的带有此类提示的汇编程序要清晰得多。
-
@Jens Gustedt:AFAIK 提示只会导致交换分支。代码如何变得更简洁?
-
正是如此。跟随主分支要容易得多,因为这是连续的,然后,被认为“不喜欢”的部分被交换到后面,看不见。
标签: c++ c optimization gcc micro-optimization