-
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
- metric
- Performance
- Programming
- Quadratic
- Rants
- Security
- Symbols
- Travel
- uiforetw
- Uncategorized
- Unicycling
- Visual Studio
- WLPG
- Xbox 360
- xperf
Meta
Category Archives: xperf
Reflections on My Tech Career – Part 2
This is second and final part of the story of how my career as a software developer unfolded (part 1 is here). In this half I work at four different companies in the Seattle area, make my mark, and then … Continue reading
Posted in Bugs, Chromium, Floating Point, Investigative Reporting, Linux, Performance, Programming, Quadratic, Symbols, uiforetw, Unicycling, Xbox 360, xperf
Tagged career, Cavedog, Google, Humongous, Microsoft, Valve
20 Comments
Acronis True Image Costs Performance When Not Used
Over two years ago I installed Acronis True Image for Crucial in order to migrate my data to a new SSD I had just purchased. It worked. I then left True Image installed “just in case”, and what harm could … Continue reading
Posted in Investigative Reporting, Performance, uiforetw, xperf
Tagged acronis, process enumeration, shell extensions
17 Comments
32 MiB Working Sets on a 64 GiB machine
Memory is a relatively scarce resource on many consumer computers, so a feature to limit how much memory a process uses seems like a good idea, and Microsoft did indeed implement such a feature. However: They didn’t document this (!) … Continue reading
Posted in Computers and Internet, Investigative Reporting, memory, Performance, Programming, uiforetw, xperf
Tagged memory, priority, working set
10 Comments
When Debug Symbols Get Large
TL;DR – upgrade your tools, including Visual Studio, windbg, and Windows Performance Toolkit, if you want to handle Chromium’s symbol files. Details: Death, taxes, and browser engines relentlessly growing – those are the three things that you can really be … Continue reading
No Start Menu for You
I tend to launch most programs on my Windows 10 laptop by typing the <Win> key, then a few letters of the program name, and then hitting enter. On my powerful laptop (SSD and 32 GB of RAM) this process … Continue reading
Posted in Code Reliability, Debugging, Investigative Reporting, Performance, Programming, Rants, uiforetw, xperf
Tagged hangs, pageheap, Windows 10 abandonware
28 Comments
Why Modern Software is Slow–Windows Voice Recorder
I apologize for this title because there are many things that can make modern software slow. Blindly applying one explanation without a bit of investigation is the software equivalent of a cargo cult. That said, this post describes one example … Continue reading
Posted in Investigative Reporting, Performance, uiforetw, xperf
Tagged runtimebroker, voice recorder, winrt
41 Comments
Windows Performance Analyzer, From Store or SDK
ETW is the best way to analyze performance on Windows, and Windows Performance Analyzer (WPA) has been the preferred tool for analyzing ETW traces for ten years now, generally obtained either by running UIforETW or by getting it from the … Continue reading
Finding Windows HANDLE leaks, in Chromium and others
Three years ago I found a 32 GB memory leak caused by CcmExec.exe failing to close process handles. That bug is fixed, but ever since then I have had the handles column in Windows Task Manager enabled, just in case … Continue reading
Posted in Bugs, Code Reliability, Investigative Reporting, uiforetw, xperf
Tagged handles, leaks
20 Comments
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
7 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