[英]Performance between Powershell code and C# DLL
如果代碼是用C#編寫,然后使用編譯的DLL而不是直接在Powershell中編寫代碼,則在時間性能方面是否有改進?
我會說這基本上沒關系。 如果你只使用有表現不佳的PowerShell,很可能,你可以做一些事情來改善仍然只是 PowerShell中的表現。
PowerShell的另一個奇妙好處是代碼就在其中,並且對於許多非開發人員而言,無需編譯就可以對其進行迭代,因此很容易訪問它們。 因此,任何性能下降都是值得的。 但是,這是最小的。
從PowerShell 3.x開始,它是JIT編譯的。 此外,在某些情況下,后端還會做一些事情來優化代碼的實際作用。 在PowerShell 6.x中,剛剛宣布存在一種優化,甚至可以通過優化它來完成對Out-Null
管道傳遞,使其性能像分配給$Null
一樣。
此外,現在許多對象上都有可用的方法,例如$Object.Where()
,其行為表示比通過管道進行表示更快$Object | Where-Object
$Object | Where-Object
。
對於這些事情,只需注意您要執行的操作所需的版本。
正如某些人所說,如果有疑問,請使用Measure-Command
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.