在IF / ELSE评估中,哪个代码运行得更快:IF中的大块代码或ELSE中的大块代码?

时间:2017-10-13 16:22:20

标签: powershell if-statement

在Powershell中,我有一个脚本可以在文件存在的情况下执行某些操作,并在没有文件的情况下显示消息。我可以用两种方式写出来:

IF (Test-Path $path_to_file) {run some elaborate code}
ELSE {write-host "File doesn't exist"}

或者我能做到:

IF ((Test-Path $path_to_file) -eq $FALSE) {write-host "File doesn't exist"}
ELSE {run elaborate code}

这两个做同样的事情。处理速度是否会有所不同(假设“精心设计的代码'是解析长文本文件的长段代码”)?

1 个答案:

答案 0 :(得分:2)

if/else语句执行一次,不会影响任何代码的运行时间。

if (x) { <#short#> } else {
    #Long
}

如果它是单行的,通常会更具可读性,当您尝试将其读回时,您最终不会在长代码块的末尾查找else所连接的位置

如果有任何性能变化,它可能会很小,以至于上述陈述的可读性更重要。

超过10000次有意义的迭代&#39;代码,vs打印一个字符串,如果代码在If或Else中的差异可以忽略不计(avg 0.038s)并且不能可靠地偏向一个结果,我说你安全到在考虑这个问题时,甚至不考虑性能。