【问题标题】:About if else statement [closed]关于 if else 语句[关闭]
【发布时间】:2016-10-15 20:22:12
【问题描述】:

这是代码!

代码1:

if(false) {
    //1000 lines of code
}
else {
    //1 line of code
}

代码2:

if(false) {
    //1 line of code
}
else {
    //1 line of code
}

以上两个代码的处理时间是多少?也请尝试解释...

【问题讨论】:

  • 忽略解析中的变化:处理基本相同,假设1 line of code是相同的......执行if的评估,然后执行那1行代码......当然,如果这 1 行代码不同,那么其中一行代码的评估时间可能比另一行要长
  • 一根绳子有多长?
  • 为什么不自己测试一下

标签: php if-statement time


【解决方案1】:

好的好的,这是一个关于性能的非常好的问题。

简短的回答:它们将以相同的速度运行。为什么

编译器在编译您的代码时会将其转换为机械语言,这是 RAM 中的一堆低级处理器命令

if 中有一行,如果条件为假,编译器将要求处理器跳转1 行,这将使程序计数器增加1,以忽略if 块并改为执行else 块。看看开销只是增加程序计数器的一个命令。

program counter 是保存你正在执行哪一行的寄存器

并且在if 中带有1000 行,这将是相同的,只需将程序计数器增加1000 以跳转if 块以执行else 块。一次操作的开销是一样的。

即使else 也是如此,如果条件为真if 块将执行然后跳转else 块。

【讨论】: