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