Pipeline and performance
When it comes to performance, there are many things to take into account, especially when it comes to the pipeline. To understand where these issues are coming from when using the pipeline to process data, we first of all need to understand how pipeline processing works—what happens if you pipe Get-Process
to Stop-Process
, for example?
Another factor that might improve the performance of your automation scripts is parallelization. We will have a look at possible ways to parallelize and utilize as many resources as we can to improve script runtimes.
Performance
Broadly speaking, when the output of a cmdlet is piped to the input of another cmdlet, the first object is retrieved and will get processed. While this happens, the second object will be retrieved. This process continues until the flow of objects has stopped and there is nothing more to process. A clean-up task might occur.
Let's visualize this in a function that accepts pipeline input—more on that in Chapter 5...