之间是否存在明显的性能差异:
if (a != b) a = b;
和
a = b;
当a
和b
都是int
或bool
相同的内置类型,或者可能是一个非常简单的小struct
?< / p>
据我所知,第二个表达式每次都会写入内存(我假设这是一个比读取更重的操作),而第一个表达式只有在a
和b
不相等时才会执行。
或者可能取决于b
值的变化频率?
我明白它更像是&#34; ++ i vs i ++&#34;有点问题,我很好奇,但是
答案 0 :(得分:1)
这取决于。
对于x86 CPU,程序涉及的操作成本大致如下:
使用此信息,您可能会做出一些猜测; - )。
对于其他(非x86)桌面/服务器/移动CPU,数量会有所不同,但总体情况大致相同。