分支预测:分支订单与builtin_expect

时间:2015-07-02 15:05:56

标签: c++ micro-optimization branch-prediction

我正在C++学习分支预测,并且有一个相当简单的问题。

似乎 __builtin_expect 术语告诉编译器哪个子句首先放在汇编代码中。

但是,如果这是程序员手动添加的,那么除了简单地在C++代码中切换 if / else 子句之外,它有什么不同?

1 个答案:

答案 0 :(得分:1)

允许编译器的优化器重新排序分支。如果编译器得到(或很可能)错误,__ builtin_expect很有用。