Performance Tuning
Presentations about Performance Tuning
PerfView: The Ultimate .NET Performance Tool
Java at Speed
Applied Performance Theory
Interviews
PerfView: The Ultimate .NET Performance Tool
What's the primary focus of your talk?
I traditionally have been a Windows person. My first year as a developer was C++ on Windows. But at some point I became a performance diagnostic generalist. I do a mix of work that could be a Linux system, even embedded Linux, it could be .NET running on Windows, could be web applications, could be JVM. I don't deal with specific languages so much although I do still write code. I'm more interested in how the runtime works, in the interactions with the operating system, systems level stuff. That's where I find most interesting cases.
Can you tell us a bit about the motivation for your talk?
A lot of Windows developers only have in their toolbox some very expensive and not really 'wieldy' performance diagnostic tools. You could maybe use them in the development environment while you're writing the code, maybe even in load testing but not so much in production. A lot of the Windows profilers and the .NET profilers slow you down a lot, and they have really complicated installations required or they are very invasive. There's a bunch of problems which make them irrelevant for production even if it's a controlled production environment, and even worse if it is partially under your control, like a PaaS cloud offering where you're not really just running arbitrary code on the target machine. And this is where PerfView comes in. It's an open source tool. It was originally developed inside Microsoft for their own use troubleshooting and diagnosing issues with the .NET runtime itself and with various applications they had. One of the first users was the Bing team, and they have used it extensively until this day. But now it's a comprehensive tool for doing all kinds of performance analysis on Windows. It has a strong .NET focus but you can use it for C++ applications as well. What’s more, you can put PerfView in a production environment and grab data and move it back and forth.