.NET Memory Expert

.NET Framework & .NET Core & .NET 5/6 | Windows & Linux | cloud & on-premise

online course

Everything you need to know about the GC and memory in .NET

Price:

429€ | 499$ | 10590 Kč | 1899 zł

(+ VAT if applies)

Time left until the sale closing:

Days
Hours
Minutes
Seconds

.NET Memory Expert course in numbers:

316
attendees

and
0 returns

69
lessons

including
14 homework tasks

2522
minutes

which is
42 hours of material

1383
slides

which is an average of
20 slides per lesson

Course description

Do you know whether your C# code is memory efficient? Could you make your application faster and cheaper to host? Do you know how to write efficient code, taking into account Garbage Collector's various caveats that you may not even know about? In this course we cover those topics to make you just a better programmer. We cover here a lot!. From the basics about value and reference types, through the knowledge about configuring .NET GC, up to super interesting, advanced topics like Span<T> and its usage to utilize native memory in a Data-Oriented Design way.

Well, it is partially true that .NET memory management is automatic and you don't need to think about it. Until... you need. Maybe you were supposed to analyze the strange memory growth of .NET application. Or maybe you are even not aware that you waste tons of CPU power because of inefficient memory handling. Do you know how to measure that?

We prepared .NET Memory Expert online course to help you gain all that knowledge. It is 14 solid weeks of learning. We will show you how to use powerful tools like PerfView in thoroughly prepared .NET scenarios and also how to program in C# in a memory-aware, efficient way. To practice possessed knowledge, every module has also a prepared homework. To deepen your knowledge we've invited two Mentors who will prepare two additional, invaluable lessons. As participant you will have an opportunity to attend LIVE Q&A meeting with an author during which only your imagination limits your questions to him!

Price:

429€ | 499$ | 10590 Kč | 1899 zł

(+ VAT if applies)

Time left until the sale closing:

Days
Hours
Minutes
Seconds

Course agenda

1

.NET runtime

  1. Introduction
  2. .NET runtime - IL, JIT, assembler
  3. Homework
2

Types basics

  1. Value vs reference type - layout, passing by value and reference
  2. Stack vs heap
  3. null/NullReferenceException
  4. Array/list of classes/structs
  5. Homework
3

Memory management fundamentals

  1. Automatic memory management
  2. Pauses/throughput/latency/aggressiveness
  3. Your performance goal? Don't guess, measure
  4. Homework
4

.NET GC fundamentals

  1. GC in .NET
  2. GC modes, latency modes and other settings
  3. Homework
5

Diagnostic tools

  1. Introduction
  2. Events
  3. Event Tracing for Windows
  4. Linux Trace Toolkit Next Generation (LTTng)
  5. EventPipes & CLI Diagnostic Tools
  6. Homework
6

Diagnostic tools - part II

  1. Counters
  2. Dumps
  3. Profilers & Application Performance Monitoring
  4. Cloud & containers
  5. Homework
7

Roots, generations and memory leaks

  1. Generations and heaps
  2. Roots
  3. Homework
8

The (necessary) GC internals

  1. Operating system cooperation
  2. The GC partitioning internals
  3. The GC phases internals
  4. Homework
9

Typical problems

  1. Memory leaks - no GC
  2. Memory leaks - fragmentation
  3. Memory leaks - roots
  4. Mid-life crisis and Nepotism
  5. Homework
10

Allocations under control

  1. Measuring and self-measuring
  2. Reducing - hidden allocations
  3. Reducing - pooling
  4. Reducing - structs
  5. Reducing - strings
  6. Homework
11

Lifetime management

  1. Finalization
  2. IDisposable
  3. IoC Containers
  4. Weak references
  5. Homework
12

Advanced topics and APIs

  1. Managed pointers
  2. Span<T> and Memory<T>
  3. Unsafe class
  4. Pipelines
  5. Homework
13

Data Oriented Design

  1. Hardware - memory, cache, CPU
  2. Object layout vs cache
  3. Memory acces patterns (including SOA vs AOS)
  4. Homework
14

Interoperability

  1. Pinning
  2. Off the heap - MemoryMappedFiles, native allocations
  3. Function pointers
  4. Homework
15

Bonus - Mentors

  1. Andrey Akinshin - Statistical analysis of memory metrics
  2. Christophe Nasarre - Memory troubleshooting

What do I get?

🔍 Access to 14-weeks .NET Memory Expert on-line course - Access to full .NET Memory course material

🔍 Q&A session with Author - LIVE session with Konrad, author of the course, will give you a great opportunity to clarify any doubts arising during the course.

🔍 Lessons with Mentors - 2x additional lessons with international Mentors of that program, who are world-class experts on the field of performance. Sessions will be recorded and shared with you on the platform.

🔍 Access to the course platform - The access to the platform as well as to our dedicated discussion page, which allows you to contact the instructor and other course participants.

🔍 Access to the repository - You receive the access to repository that includes code examples.

Price:

429€ | 499$ | 10590 Kč | 1899 zł

(+ VAT if applies)

Time left until the sale closing:

Days
Hours
Minutes
Seconds

Course authors

Konrad Kokosa


Dotnetos co-founder, Microsoft MVP, author, speaker


Author of Pro .NET Memory Management book (⭐⭐⭐⭐⭐ rating on Amazon). Programming for over a dozen years, solving performance problems and architectural puzzles in the .NET world, speeding up web applications. Independent consultant, blogger, speaker and fan of Twitter. He also shares his passion as a trainer in the area of .NET, especially about application performance, memory and diagnostics. Microsoft MVP in the Visual Studio and Development Tools category. Co-founder of a great Dotnetos initiative sharing knowledge and providing premium .NET content.

Course mentors

Andrey Akinshin


JetBrains Rider performance lead, BenchmarkDotNet maintainer, "Pro .NET Benchmarking" author


Andrey Akinshin is a software developer, an author of blog posts and papers about mathematics and programming, a frequent conference speaker. He is the project lead of the well-known BenchmarkDotNet and perfolizer. The author of 'Pro .NET Benchmarking' book. An ex Microsoft .NET MVP, a silver medalist of ACM ICPC. Andrey is a Ph.D. in computer science.

Christophe Nasarre


Microsoft MVP, developer and speaker


Developing and shipping software on Microsoft stacks for 30 years. Technical reviewer for many publishing companies since 1996 on books such as 'CLR via C#' and the last editions of 'Windows Internals'. He is providing tools and insights on .NET and troubleshooting via his awesome diagnostics blog posts and his open source projects: you might be surprised how much code you could reuse.

Price:

429€ | 499$ | 10590 Kč | 1899 zł

(+ VAT if applies)

Time left until the sale closing:

Days
Hours
Minutes
Seconds

Questions and answers

🔍 Which programming language will be used in examples?

All the examples as well as all our work will be done in C#.

🔍 Which version of .NET and operating system will be used in samples and homeworks?

We will work on .NET 5, showing differences with .NET Framework and/or .NET Core when needed. We will cover both Linux and Windows.

🔍 When does the course begin and for how long does it last?

The course is now available and the sale is unlimited in time.

🔍 What is the format of that course?

It is a video course. Recordings are uploaded to the platform. After signing in with your login and password, you have an access to your account.

🔍 How long will I have the access to the course?

You will receive life-long access to that edition of the course, including its updates.

🔍 What if I would not be satisfied with the course?

If you watch less than 30% of the course and decide that the course is not for you, you will receive a refund. You have 30 days to decide. Just write to contact[at]dotnetos.org, and we will return you 100% value.

🔍 Will I receive all the course material at once?

Yes. All material is available immediately. We recommend watching one module per week to not overwhelm you.

🔍 Will I receive an invoice?

Yes, you will receive a VAT invoice with your purchase, if it applies. It will be sent to you within few days to the e-mail address provided during the order.

🔍 How can I pay for that course?

Payment is done with the use of our on-line shop. Each type of payment supported by it is ok for us.

🔍 Can I pay later, on installments, etc.?

Unfortunately, no.

🔍 How many people can access one course account?

The access is given to one person, using an address provided during the purchase. If you are interested in buying more accesses please add more participants in the form during the purchase.

🔍 What if I have a problem with something or something is unclear?

Write to us with that e-mail address: contact[at]dotnetos.org.

Share!

If you think that .NET Memory Expert is a nice dose of knowledge, share it with friends. Just use one of the buttons below!
Thank you!