簡體   English   中英

Powershell代碼和C#DLL之間的性能

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM