Powershell代码和C#DLL之间的性能

时间:2019-05-15 09:10:53

标签: c# powershell

如果代码是用C#编写,然后使用编译的DLL而不是直接在powershell中编写代码,那么在时间性能方面是否有改善?

1 个答案:

答案 0 :(得分:0)

我会说这基本上没关系。如果使用 just PowerShell的性能较差,则可能可以使用 just PowerShell来做一些事情来提高性能。

PowerShell的另一个奇妙好处是代码就在其中,并且许多非开发人员无需编译就可以对其进行迭代,因此很容易访问。因此,任何性能下降都是值得的。但是,这是最小的。

自PowerShell 3.x起,它是JIT编译的。此外,在某些情况下,后端还会做一些事情来优化代码的实际作用。在PowerShell 6.x中,刚刚宣布存在一项优化,它甚至可以优化Out-Null的管道,使其执行与分配给$Null相同的工作。

此外,现在许多对象上都有可用的方法,例如$Object.Where(),其行为表现比管道$Object | Where-Object更快。

对于这些事情,只需要知道您要执行的操作所需的版本即可。

但是,正如有些人所说,Measure-Command不确定。