Branchless Programming in C++ - Fedor Pikus - CppCon 2021

https://youtu.be/g-WPhYREFjk?t=2489

对于 `if(x || y) {A} else {B}` 这样的分支判断来说,程序员和机器的视角是不同的,机器视角是

所以如果x, y本身没有特别好预测性的话,那么对于机器来说分支预测效果也不会太好。 branchless要求将 `z = x||y` 预先计算出来,然后使用 `if(z) {A} else {B}` 这样的方式来改写判断。

branchless-programming-in-cpp-0.jpg