0
在Powershell中,我有一个脚本,可以在文件存在时执行某些操作,并在没有文件时显示一条消息。我可以用两种方式把它写:在IF/ELSE评估中,哪些代码运行速度更快:IF中的大块代码或ELSE中的大块?
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}
这两个做同样的事情。处理速度会有什么不同(假设'精心编码'是解析长文本文件的长段代码)?
'{运行详细代码}'是一个'ScriptBlock'(因为它是在大括号之间定义的)。 “ScriptBlock”仅在需要时才被解释。这意味着当文件不存在时它不会有什么区别,所以不会评估“{运行详细代码}”。我想你会发现更多的区别,因为条件之间的差异,对于性能测试你应该使用相同的条件格式IF((Test-Path $ path_to_file)-eq $ True){运行一些详细的代码} ...第一种方式是获得良好的比较。 – iRon