High Performance Coding with .NET Core and C# (Udemy.com)

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

Created by: Gergely Kalapos

Produced in 2017

icon
What you will 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<T>, ArrayPool<T>
  • 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

icon
Quality Score

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 86 / 100

icon
Course Description

A few years ago, Microsoft decided to radically redefine the .NET platform. An open-source, cross-platform, high performance flavor of 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 knowledge from this course, you will be able to measure and optimize the performance of .NET Core (including ASP.NET Core), C# applications.
After a short wrap-up on .NET Core the course 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 using value types or choosing the right collection for the given problem. After that we will 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 like ArrayPool and Span and we will also look into the performance aspects of Entity Framework Core. We will talk about the ahead of time compilation story for .NET with CrossGen and IL trimming with the .NET IL Linker. We will finish the course by learning about production performance monitoring for .NET Core.

Goal of the course
  • Understanding why .NET Core and ASP.NET Core are great 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, Stackify Prefix, 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.NET Core applications: Span<T>, ArrayPool<T>, ASP.NET Core Precompiled Views, Entity Framework Core performance, .NET IL Linker, AOT compilation with CrossGen.
  • Performance monitoring in production for .NET Core and ASP.NET Core: 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.

Who this course is for:
  • If you are a .NET Core developer and you want to make sure your application does not break under production load then this course is for you!
  • Furthermore, if you are interested in performance and you like looking behind the scenes and understanding what really happens in your application then you will also find this course interesting.

*Some courses are excluded from this sale. Coupon not working? If the link above doesn't drop prices, clear the cookies in your browser and then click this link here.
Also, you may need to apply the coupon code directly on the cart page to get the discount.

Coupon Code

icon
Instructor Details

Gergely Kalapos

Gergely Kalapos (Greg) is a Software Engineer specialized in .NET and Microsoft technologies. He started to work with .NET and C# around 2008 and he spent the last 4 years creating performance monitoring tools for .NET applications. He holds a BSc degree in Computer Engineering and an MSc degree in Software Engineering.

icon
Reviews

4.3

25 total reviews

5 star 4 star 3 star 2 star 1 star
% Complete
% Complete
% Complete
% Complete
% Complete

Overall, the course was pretty good, but it is definitely more beneficial for developers who utilize highly taxing computations not done by third parties. There was some interesting information about keywords like `ref` and `await`, and I will likely utilize the info in my projects, but I don't know that the performance gains will be very large. The section on monitoring tools felt a little too quick, but I assume it was merely to introduce you to the tools; you should likely be looking up in-depth tutorials for any tools you choose to use.My only real complaint would be the section on EF Core. It was far too brief and far too basic. The course goes from in-depth learning on memory allocation, to the most basic concepts of using the Where method, all without mentioning how EF Core builds its queries. Definitely that section could use some more fleshing out to make it a little beefier and more valuable; as it is, it was unfortunately a bit of a waste of time.

Excellent course on getting started with high performance, thank you.

Fantastic course!!!

Teacher's accent is hard to get, mainly the words with "w" but the content is really good, richer than other courses on performance. At the end I do not recall to see any comments on overhead while using Dynatrace or Microsoft Application Insights. The course now needs some update regarding net standard 2.1 and latest netcore 2.2 (or netcore 3 once available).

That's an amazing course. I learned a little bit more detail from this performance tutorial, not like the basic concept, that's why I like it. I am currently using ASP.NET Core MVC, that's exactly what I need. After watching this tutorial, I think I got the correct way to optimize my application. Thank you so much for this tutorial.

Great course and insights. The topics covered are quite comprehensive. I feel like I've learnt a lot and I've only done half the course so far.Only criticism is some of the earlier projects involving Entity Framework didn't quite work for me. But then again, it is Entity Framework ....

so diction is more worst when ever not listen like it, so like a italia diction.

good presentation and knowledge based slides

Where fast not understand

Tutors accent is a bit distracting

By Lgru on

Very informative.

Sofar so good