Author Posts

November 17, 2013 at 2:50 am

I would like to compare my script execution performance with and without running background jobs.
Measure-command snippets provide required data for script without running jobs,

Is there any snippet available for measuring background job performance.

Thanks
Abhay

November 17, 2013 at 4:39 pm

Perhaps you could encapsulate the Measure-Command scriptblock to include the following expression:

1. Start-Job.
2. Loop that waits 1 second and does Get-Job to see if it's running.
3. When it is not running, exit the loop and finish the script.

I think that would work for you.

May 26, 2016 at 9:13 pm

So, I'm very sorry to revive this very old thread, but several Google searches let me here.

Here's what I figured out, about trying to measure background job performance.

It's actually stored as part of the job!

Here's what I did:
Ran a job. It showed up as "Job1".
When it was complete, I ran:

 ((Get-Job Job1).PSEndTime.TimeOfDay - (Get-Job Job1).PSBeginTime.TimeOfDay).TotalMinutes

To explore what else is available, use Get-Member. So run:

((Get-Job Job1).PSBeginTime.TimeOfDay) | Get-Member

Hope this helps someone!