Making .NET Applications Faster

In this three-day workshop, you will learn how to measure, understand, improve, and test the performance of your .NET applications and systems. Tuning .NET application performance requires in-depth familiarity with the CLR, the garbage collector, the just-in-time compiler, and various .NET Framework services. Good performance measurement tools that can be deployed into production environments are also a must. This workshop teaches you how to combine a solid understanding of your platform with tools that point out where to focus and what to improve. At least 30% of the time is invested in detailed hands-on labs, which are available to you at any time during and after the course. The labs also provide instructions for applying the lessons learned to your own systems after the course.

Course Overview

Sasha Goldshtein – Making .NET Applications Faster

In this three-day workshop, you will learn how to measure, understand, improve, and test the performance of your .NET applications and systems. Tuning .NET application performance requires in-depth familiarity with the CLR, the garbage collector, the just-in-time compiler, and various .NET Framework services. Good performance measurement tools that can be deployed into production environments are also a must. This workshop teaches you how to combine a solid understanding of your platform with tools that point out where to focus and what to improve. At least 30% of the time is invested in detailed hands-on labs, which are available to you at any time during and after the course. The labs also provide instructions for applying the lessons learned to your own systems after the course.

 

During most of the first day, we will focus on performance measurement tools that are relevant for both development and production environments. Rather than covering a breadth of commercial profiler offerings, we will explore the free ETW platform built into Windows and the CLR, which can be used to profile applications for CPU and wall-clock time bottlenecks, to obtain information on memory allocations and garbage collections on the method level, to understand disk accesses and network requests performed by your application, and many other important metrics. Along with the ETW tools we will begin discussing .NET garbage collection internals: mark-sweep-compact phases, generations, server and workstation GC, Large Object Heap tuning, and the interaction between GC and the Windows virtual memory manager. We will use tools like PerfView and VMMap to identify and improve inefficient GC behavior.

 

During the second day, we will wrap up our discussion of .NET memory management by reviewing best practices for interacting with the garbage collector, and thoroughly understanding finalization internals and the potential performance issues involved with excessive use of finalization. We will also see how to analyze .NET application memory dumps to identify memory leaks over time, and how to generate dumps automatically for continuous monitoring. Next, we will turn to reviewing CPU bottlenecks in .NET applications — first, by learning how to monitor and eliminate simple CPU bottlenecks, and then by experimenting with tools that show thread relationships and subtle behaviors such as lock contention and convoys. We will also discuss CPU caches and pipeline stalls, which can again be monitored to identify and improve problematic behavior.

 

During the third and final day, we will discuss additional advanced techniques for improving the performance of CPU-bound algorithms. We will focus on vectorization (SIMD instructions), which has recently become available for .NET developers to use with the rewrite of the CLR JIT compiler (RyuJIT). Later in the day, we will discuss a variety of shorter topics, including tips for improving application startup times, navigating your way through the vast number of .NET collection classes, and using unsafe code (C# pointers) when the performance requirements dictate it.

Latest News
  • BUNNY DEAL

    BUNNY DEAL

    Use Promo Code: BUNNYDEAL
    Get 10 % additional discount for Build Stuff Lithuania’17 All Tickets!
    Get 150 EUR discount for Build Stuff Mallorca Tickets!
    10 % OFF ANY COURSE!

    Deal ends on April 25th!

    Read More
    Mark Seemann: Growing Functional Software, Guided by Tests

    Mark Seemann: Growing Functional Software, Guided by Tests

    8 SEATS LEFT! Learn how to develop and test applications with F# – the .NET language with superior productivity. You’ll see comprehensive examples of how to develop a web-based application using outside-in test-driven development.

    Read More
  • Hevlin Henney: Architecture with Agility

    Hevlin Henney: Architecture with Agility

    6 SEATS LEFT! This course looks at the relationship between Agile processes and good architecture, taking in development process models, architectural styles, requirements techniques.

    Read More
    Greg Young: CQRS, Domain Events, Event Sourcing & How to Apply DDD

    Greg Young: CQRS, Domain Events, Event Sourcing & How to Apply DDD

    7 SEATS LEFT! Would you like to learn all about system building and architectures with Domain Driven Design? Join this course on CQRS, Domain Events, Event Sourcing and how to apply DDD with Greg Young!

    Read More
  • Build Stuff LITHUANIA

    Build Stuff LITHUANIA

    Build Stuff 2017 – 70+ speakers, 6 tracks, 98% international!

    Read More
    Build Stuff Mallorca

    Build Stuff Mallorca

    Coming with friend or colleague?
    We offer you “Friends Package” only for 1198 EUR!
    It includes all days 2 conference tickets, 2 nights at host hotel in twin room, lunch, coffee breaks, 2 get-together evening passes. It never been so good! www.buildstuff.es

    Read More
Why BuildStuffTraining?

The region’s go-to for training

When it comes to software development training, Build Stuff is Eastern Europe’s go-to. Find out why ours is the region’s top conference and learn what our private sessions can do for you.

The most subjects, the best teachers

The dev world is your oyster! Now you can learn it all, with classes on a huge variety of subjects taught by top professionals from all over the world!

Your training, set up from A-Z

Whatever your training needs, we’ll take care of the planning and the details, so you can focus on what’s important – the learning!