Overview
Explore best practices for writing high-performance code in .NET through tales from the trenches of building highly scalable services powering various Bing components. Delve into techniques for instrumenting code for deep analysis and learn to leverage tools that help achieve performance goals and reduce costs. Discover the good, bad, and ugly aspects of performance engineering as you examine real-world scenarios, including event processing in Bing, handling exceptions, managing finalizer queues, and addressing I/O issues. Master the use of essential tools like WinDbg, SOS, and CLRMD, while gaining insights into effective coding patterns such as singletons, immutable data structures, and lock-free publication. Uncover subtle sources of performance degradation and acquire strategies to optimize .NET applications for maximum efficiency and scalability.
Syllabus
Intro
Building High Scale Event Processing in Bing
Performance Engineering Strategy
An Arsenal of Tools
The Basics of WinDbg and SOS
The Basics of CLRMD
The Case of the Trace
Huge Exceptions, oh my!
Using EventSource
The Case of the Stuck Finalizer Queue
Another Case of the Stuck Finalizer Queue
Unobserved Task Exceptions
Costly Timers
Acquiring All Locks
The Day all I/O stopped
Using Singletons
Subtle Sources of Boxing
readonly, but with caution
Immutable Data Structures
The Lock-Free Publication Pattem
Taught by
NDC Conferences