Category Archives: xperf

What is Windows *doing* while hogging that lock

Earlier this month I wrote about how Windows 10 holds a lock during too much of process destruction, which both serializes this task and causes mouse-cursor hitches and UI hangs (because the same lock is used for these UI tasks). … Continue reading

Posted in Investigative Reporting, uiforetw, xperf | Tagged , , | 15 Comments

24-core CPU and I can’t move my mouse

This story begins, as they so often do, when I noticed that my machine was behaving poorly. My Windows 10 work machine has 24 cores (48 hyper-threads) and they were 50% idle. It has 64 GB of RAM and that … Continue reading

Posted in Investigative Reporting, uiforetw, xperf | Tagged , , | 210 Comments

CPU Performance Counters on Windows

TL;DR – I can finally record CPU performance counters for processes on Windows. I’m mostly a Windows developer but I’ll occasionally fire up my Linux box to use the perf tool to examine CPU performance counters. Sometimes you really need … Continue reading

Posted in xperf | Tagged , , | 5 Comments

ETW Flame Graphs Made Easy

A bit over three years ago I wrote about how to use flame graphs to visualize CPU Usage (Sampled) data from ETW, and a year ago I added flame graph support to UIforETW. However these techniques are clumsy and slow … Continue reading

Posted in Performance, uiforetw, xperf | Tagged , , | 26 Comments

UIforETW is No Longer a CPU Hog

A few months ago I wrote about how many processes on my system were waking up and wasting CPU time for no good reason, thus wasting battery power, electricity, and CPU power. I was surprised that nobody called me out … Continue reading

Posted in Performance, uiforetw, xperf | Tagged , | 6 Comments

Power Wastage On An Idle Laptop

Ever since I upgraded to Windows 10 it’s felt like my battery life is worse. My suspicion was various scanning tasks that were springing to life more frequently, but it was just a hunch. So, I did what I do … Continue reading

Posted in Investigative Reporting, Performance, Programming, uiforetw, xperf | Tagged , | 32 Comments

ETW Central

Over the last few years I’ve written over forty blog posts that discuss ETW/xperf profiling. I’ve done this because it’s one of the best profilers I’ve ever used, and it’s been woefully undersold and under documented by Microsoft. My goal … Continue reading

Posted in uiforetw, xperf | Tagged , , , , | 40 Comments