我的代码有很多模式,比如
int a, b.....
bool c = x ? a >= b : a <= b;
其他不等式比较运算符也类似。有没有一种方法可以编写此代码以实现更好的 x86 性能/无分支。
请饶了我你有没有对你的代码进行基准测试?这真的是您的瓶颈吗?
输入评论。我正在寻求其他方式来编写此代码,以便我可以进行基准测试和测试。
编辑:
bool x
最佳答案
原文表达:
x ? a >= b : a <= b
没有短路评估的无分支等效表达式:
!!x & a >= b | !x & a <= b
这是一个不借助算术技巧的通用模式示例。注意运算符优先级;对于更复杂的示例,您可能需要括号。
关于c++ - 基于 bool toggle 的高效对称比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56905366/