我刚刚发现一个变化,发现这个15 PSJob oneliner在PowerShell中运行速度非常慢。
1..15 | %{ Start-Job -ScriptBlock { "Some random text" | Select -First 1 } } | Receive-Job -WriteJobInResults -wait #slow version
但是,如果文本没有通过管道发送,那么oneliner就像地狱一样快
1..15 | %{ Start-Job -ScriptBlock { "Some random text" } | Receive-Job -WriteJobInResults -wait #fast version
有人可以解释为什么会这样吗?
我的PowerShell版本
Name Value
---- -----
PSVersion 5.0.10586.672
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.10586.672
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1