Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Udemy

High Performance Coding with .NET Core and C#

via Udemy

Overview

Learn how to write high performance and scalable .NET Core and ASP.NET Core applications in C#

What you'll learn:
  • Get an overview about the current stage of the .NET platform with focus on .NET Core, ASP .NET Core, and C# 7 with their performance aspects
  • Get to know tools which are essential to measure the performance of a .NET Core application: Visual Studio Performance Tools, PerfView, BenchmarkDotNet, Perf and LTTng on Linux, Prefix, MiniProfiler
  • Performance characteristics of value types and reference types, the effect of async/await on performance, and performance of collections in the base library
  • Behind the scenes knowledge about C# 7: you will see what the compiler generates from C# 7 code and what performance implications this has on your application
  • New performance related APIs like Span, ArrayPool
  • Data access performance with Entity Framework Core
  • Ahead of time compilation for .NET Core with CrossGen, and removing dead code with the .NET IL Linker
  • Production monitoring for .NET Core and ASP .NET Core with Application Insights and Dynatrace

A few years ago, Microsoft decided to radically redefine the .NET platform. An open-source, cross-platform, high performanceflavorof the .NET framework was created: this is .NET Core. Additionally, C#, the most widely used .NET programming language also evolved over the years. These new developments include many performance improvements.

The goal of the course is to give you deep understanding about these performance improvements. By applying the knowledgefromthis course, you will be able to measure and optimize the performance of .NET Core (including ASP.NETCore), C#applications.

After a short wrap-up on .NET Corethecourse introduces you to the first pillar of the performance topic: measuring performance. You will learn to use tools that you can apply to measure the performance of your code running on .NET Core.Then we will focus on some important performance tricks like reducing the pressure on the GC by usingvaluetypes or choosing the right collection for the given problem.After that wewill see what the compiler does behind the scenes when it compiles your C# 7 code and what performance implications this has.We will talk about some new performance related APIs likeArrayPooland Span andwe willalsolook into the performance aspects of Entity Framework Core. We will talk about the ahead of time compilation story for .NET withCrossGenand IL trimming with the .NET IL Linker. We will finish the course by learning about productionperformancemonitoringfor .NET Core.


Goal of the course

  • Understanding why .NET Core and ASP.NETCorearegreat platforms to create high performance applications
  • Learning about tools that can measure the performance of your .NET Core code:Visual Studio Performance Tools, BenchmarkDotNet, MiniProfiler, StackifyPrefix, LTTng and Perf on Linux, ETW and PerfView
  • Understand the latest language features of C# and how they affect performance
  • Advanced tools to improve the performance of your .NET Core and ASP.NETCore applications:Span, ArrayPool, ASP.NETCore Precompiled Views, Entity Framework Core performance, .NETILLinker, AOTcompilation with CrossGen.
  • Performance monitoring in production for .NET Core and ASP.NETCore: Application Insights and Dynatrace


Course style

The course is a mix of theory and practice. Tools and concepts with their theoretical background will be introduced with slides and then the theoretical knowledge will be applied in demos.

Taught by

Gergely Kalapos

Reviews

4.5 rating at Udemy based on 1058 ratings

Start your review of High Performance Coding with .NET Core and C#

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.