这是代码!
code1:
if(false) {
//1000 lines of code
}
else {
//1 line of code
}
code2:
if(false) {
//1 line of code
}
else {
//1 line of code
}
上述两个代码的处理时间是多少?还请尝试解释......
答案 0 :(得分:0)
好吧,这是关于表现的非常好的问题。
简短回答:他们将以相同的速度运行。为什么
编译器在符合您的代码时会将其转换为机械语言,这是RAM中的一堆低级处理器命令
如果条件为假,在if
中有一行,编译器会要求处理器跳1行,这将使程序计数器增加1而忽略if
块并执行else块代替。看看开销只是增加程序计数器的一个命令。
program counter
是用于保存您正在执行的行
并且在带有1000行的if
中,只需增加程序计数器1000就可以跳过if
块来执行else
块。一个操作开销是相同的。
如果条件为真else
块将执行,那么即使if
也是如此,然后跳转else
块。