是否有任何可移植的方式来进行分支预测提示?考虑以下示例:
if (unlikely_condition) {
/* ..A.. */
} else {
/* ..B.. */
}
这与做有什么不同:
if (!unlikely_condition) {
/* ..B.. */
} else {
/* ..A.. */
}
或者是使用编译器特定提示的唯一方法?(例如 GCC 上的 __builtin_expect)
编译器会根据if
条件的顺序对条件进行不同的处理吗?