分支预测:分支顺序与 builtin_expect
Branch Prediction: Branch Order vs builtin_expect
我正在学习 C++
中的分支预测并且有一个相当简单的问题。
似乎 __builtin_expect
术语告诉编译器将哪个子句放在汇编代码的前面。
但是,如果这是由程序员手动添加的,它与简单地切换 if/else 子句有什么不同 C++
代码?
允许编译器的优化器重新排序分支。如果编译器得到(或可能)出错,__builtin_expect 很有用。
我正在学习 C++
中的分支预测并且有一个相当简单的问题。
似乎 __builtin_expect
术语告诉编译器将哪个子句放在汇编代码的前面。
但是,如果这是由程序员手动添加的,它与简单地切换 if/else 子句有什么不同 C++
代码?
允许编译器的优化器重新排序分支。如果编译器得到(或可能)出错,__builtin_expect 很有用。