在if()
或变量初始化之间花费更多时间的指令是什么?
首先检查给定变量是否具有非零值并仅在非零值时设置它是否更有效?
例如:布尔值!
if (boolean)
boolean = false;
或直接:boolean = false;
答案 0 :(得分:1)
最不可能更快检查。它取决于所设置对象的类型(在这种情况下,布尔值,显然“设置简单”)。只有具有“简单比较”和“复杂设置”的特殊对象才能从首先检查中受益。
如果真的很容易检查并且难以改变,那么“set”函数应该检查它自己。
异常是处理器之间存在大量争用的共享内存,因为写入内存会强制刷新其他处理器的缓存,这需要时间。