这是一位高级经理问的面试题。
哪一个更快?
while(1) {
// Some code
}
或while(2) {
//Some code
}
我说两者的执行速度相同,因为while
语句内的表达式最终应该会评估为true
或false
。在这种情况下,两者都评估为true
,并且while
循环条件内没有额外的条件指令。因此,两者的执行速度相同,我更喜欢while(1)
。
但面试官自信地说:
“检查一下你的基础知识。while(1)
比while(2)
更快。”
(他并不是在测试我的自信心)
这是真的吗?
0x100000f90: jmp 0x100000f90
(地址显然会有所变化)。面试官可能在寻找一个寄存器测试或简单标记跳转之间权衡。这个问题和他们的推测都很无聊。 - WhozCraig