-
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
- Rants
- Security
- Symbols
- Travel
- uiforetw
- Uncategorized
- Unicycling
- Visual Studio
- WLPG
- xperf
Follow me on Twitter
My TweetsMeta
Category Archives: xperf
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
8 Comments
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, Rants, uiforetw, xperf
Tagged complexity, ETW, O(n^2), performance, WMI
45 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
23 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, uiforetw, xperf
Tagged ETW, ntfs, wpa
39 Comments
O(n^2) in CreateProcess
So many possible introductions to this one: Windows 7: Sheesh, I sure am slow at creating processes Windows 10: Hold my beer… Or how about: A) How long does CreateProcess take on Windows? B) How long would you like it … Continue reading
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
Making Windows Slower Part 1: File Access
Windows has long had a reputation for slow file operations and slow process creation. Have you ever wanted to make these operations even slower? This weeks’ blog post covers a technique you can use to make all file operations on … Continue reading
Posted in Investigative Reporting, Performance, Programming, xperf
Tagged FileSystemWatcher, notifications, Windows
25 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