99 Problems, but Slow PowerShell Ain't One!
summary
Uses the Profiler module by Jakub Jareš to run trace-script traces, export flame charts to speedcope, and compare flagged before/after runs; shows a concrete case where switching from pre-7 plusEquals to a System.Collections.Generic.List cuts a task from ~6.2s to ~1.2s, demonstrates preheat to halve cold-start time, and profiles a PowerShell profile load that spends most time in Invoke-WebRequest (~3s total) so web calls are the actual bottleneck.
AI-written summary · about
chapters (14)
- 0:00Introduction
- 3:02What is Profiler
- 5:13Profiler commands
- 6:16Trace-Script basics
- 7:40Analyzing trace output
- 11:52Real-world GUID example
- 15:25Duration vs self-duration
- 18:01Preheat for performance
- 22:17Optimizing with flags
- 26:19Before and after comparison
- 29:08Counting words in Alice
- 34:04Flame charts with SpeedScope
- 36:36Profiling PowerShell profile
- 41:35PowerShell 7.5 update & Q&A
related talks
46mCan we Make PowerShell… Blazingly Fast?!
51mDon't do that, do this instead: PowerShell worst practices and..
44mImprove PowerShell Code Efficiency with .NET RunSpaces
48mUnexplained phenomena: powerful tricks you likely didn't know were even possible
01h 03mPerformance loop—A practical guide to profiling and benchmarking
44mPowerShell and MS Graph API Advanced, from Zero to Hero
01h 37mMore Game Breaking PowerShell
01h 16mLevel Up Your PowerShell: Essential Tips, Tricks, and Techniques
