-
Recent Posts
Categories
- AltDevBlogADay
- Bugs
- Chromium
- Code analysis
- Code Reliability
- Commuting
- Computers and Internet
- Debugging
- Documentation
- Drinks
- Environment
- Floating Point
- Fractals
- Fun
- Gaming
- Investigative Reporting
- Linux
- Math
- memory
- Performance
- Programming
- Quadratic
- Rants
- Security
- Symbols
- Travel
- uiforetw
- Uncategorized
- Unicycling
- Visual Studio
- WLPG
- xperf
Follow me on Twitter
My TweetsMeta
Category Archives: uiforetw
What Outranks Thread Priority?
This investigation started, as so many of mine do, with me minding my own business, not looking for trouble. In this case all I was doing was opening my laptop lid and trying to log on. The first few times … Continue reading
Posted in Investigative Reporting, Performance, uiforetw, xperf
Tagged laptops, standby, Windows
9 Comments
Creating a Public Symbol Server, Easily
I’ve been a big fan of symbol servers for years. They are a part of the Microsoft/Windows ecosystem that is far better than anything I have seen for other operating systems. With Microsoft’s and Chrome’s symbol servers configured I can … Continue reading
Bulk ETW Trace Analysis in C#
ETW traces record a wealth of information about how a Windows system is behaving. When analyzing a new and unknown problem there is no replacement for loading the trace into WPA and following the clues to a solution. The thrill … Continue reading
O(n^2), again, now in WMI
I recently hit some multi-minute delays on my workstation. After investigating I found that the problem was due to a lock being held for five minutes, and during that time the lock-holder was mostly just spinning in a nine-instruction loop. … Continue reading
Posted in Investigative Reporting, Programming, Quadratic, Rants, uiforetw, xperf
Tagged complexity, ETW, O(n^2), performance, WMI
46 Comments
Heap Snapshots–Tracing All Heap Allocations
I’ve recently started using heap snapshots on Windows to track heap allocations. I was able to use heap snapshots to record call stacks for all outstanding allocations in Chrome’s browser process over a full two weeks, letting me account for … Continue reading
Posted in Documentation, Performance, Programming, uiforetw, xperf
Tagged heap snapshots, memory
24 Comments
63 Cores Blocked by Seven Instructions
I seem to have a habit of writing about super powerful machines whose many cores are laid low by misuse of locks. So. Yeah. It’s that again. But this one seems particularly impressive. I mean, how often do you have … Continue reading
Posted in Investigative Reporting, Performance, Programming, Quadratic, uiforetw, xperf
Tagged ETW, ntfs, wpa
40 Comments
When Your Profiler Lies
Last week I wrote about the performance consequences of inadvertently loading gdi32.dll into processes that are created and destroyed at very high rates. This week I want to share some techniques for digging deeper into this behavior, and the odd … Continue reading
Posted in Investigative Reporting, Performance, Programming, uiforetw, xperf
Tagged GDI, process shutdown, UserCrit
20 Comments
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 UI hangs, wait analysis, WIndows 10
19 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 UI hangs, wait analysis, WIndows 10
264 Comments