Slides for Patterns & Practices Talk: Desiging for Performance

Tomorrow (10/14/2009) I am giving a talk on performance at Microsoft-Campus Paterns and Practices Summit.  Below is the abstact for my talk

To many developers, high performance development is ‘magic’.   It involves multiple metrics (time, memory allocations, footprint, startup) many special tools (profilers, performance counters, ETW, NGEN), special knowledge (cache lines, page faults, seek times), conflicting advice (are generics good or bad for performance?), lots of confusing numbers, and a bunch of extra work.    While it is true that performance is a broad topic with lots of details, it is also true that it is relatively easy to sort all of this detail into categories that make the topic of performance much more approachable.    This talk simplifies and prioritizes what you need to know in order build high performance applications on .NET.    

I have posted the slides here for reference.   For those of you who may not have power-point, I have also cut and pasted the bibliography of web links, which are generally useful for those who care about performance. For those of you with power-point, simply click on the hyper link here or at the end of the article.



Windows Performance Analysis Developer Center (not really a blog, but has FAQ and links to other blogs …)

CLR and Framework Perf Blog (.NET Runtime’s Performance Team notes on Performance)

Hazim Shafi's Blog (details on VS 2010 new Performance tools)


MeasureIt (Benchmarking tool for design time)

Visual Studio 2008 Profiler (Part of Visual Studio Team System) General CPU profiling

Visual Studio  2010 Parallel Performance Analyzer (Part of Visual Studio Team System) Good all-round profiling (CPU, Disk, Blocked)

Windows Performance Analyzer (WPA) (XPERF), General Sub-process performance analysis.

VMMap (Measuring the coarse memory usage within a process)

CLR Profiler for the .NET Framework 2.0 (Measuring detailed memory usage within the GC heap)

Process Explorer (A more feature-rich Task Manager)

Process Monitor (A tool for monitoring 

Event Tracing Windows (ETW) Articles


Skip to main content