-
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
Tag Archives: ETW
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
45 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
Compiler bug? Linker bug? Windows Kernel bug.
See the end of the post for an October 2018 bug fix update, or read the whole story: Flaky failures are the worst. In this particular investigation, which spanned twenty months, we suspected hardware failure, compiler bugs, linker bugs, and … Continue reading
Posted in Debugging, Investigative Reporting, Programming
Tagged ETW, kernel, linking, Windows
66 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
WPA Symbol Loading is Much Faster, but Broken for Chrome
There’s good news, and there’s bad news. The good news is that the latest Windows Performance Analyzer (WPA), the visualization tool for ETW (Event Tracing for Windows) traces, can now load symbols faster than ever before – it’s multi-threaded, and … Continue reading
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
Xperf Basics: Recording a Trace (the ultimate easy way)
This post can be found through https://tinyurl.com/etwtracing, and an alternate version of these instructions can be found here. If your Windows computer is running slowly – if a program takes a long time to launch, if a game has a … Continue reading
UIforETW – Windows Performance Made Easier
Event Tracing for Windows (ETW) aka xperf is an amazing tool for investigating the performance of Windows machines – I’ve blogged about it many times and it’s helped me find some amazing issues. But recording ETW traces has always been … Continue reading
ETW Training Videos Available Now
I created a series of training videos that cover Event Tracing for Windows, also known as xperf or the Windows Performance Toolkit. This set of videos, available on WintellectNow, should be enough to teach any experienced programmer how to use … Continue reading
Make VC++ Compiles Fast Through Parallel Compilation
The free lunch is over and our CPUs are not getting any faster so if you want faster builds then you have to do parallel builds. Visual Studio supports parallel compilation but it is poorly understood and often not even … Continue reading
Posted in Performance, Visual Studio, xperf
Tagged cl.exe, ETW, VC++, visual studio, xperf
55 Comments