Skip to main content
CF

.NET Memory Expert

43h 15m 52s
English
Paid
Added to CourseFlix

.NET Memory Expert is a 65-lesson 43 hours 15 minutes self-paced course by Konrad Kokosa. «.

Course facts

Lessons
65
Duration
43 hours 15 minutes
Language
English
Added to CourseFlix
June 2025
Instructor
Konrad Kokosa
Price
Premium

«.NET Memory Expert» is a comprehensive 14-week online program focused on efficient memory management within the .NET environment. This curriculum ranges from foundational concepts such as value and reference types to advanced subjects like Span<T> and Data-Oriented Design with native memory.

Importance of Memory Management in .NET

Even with automated memory management in .NET, a deep understanding of optimization techniques is crucial. Proper memory management is vital to prevent issues like memory leaks and excessive CPU usage, especially in large-scale applications.

Course Content Overview

  • Value and Reference Types: Understand the differences and their impact on performance.
  • Advanced Memory Concepts: Dive into Span<T> and explore native memory handling techniques.
  • Data-Oriented Design: Learn how to efficiently work with native memory structures to enhance application performance.

Practical Learning and Tools

The course includes hands-on exercises and practical assignments at the end of each module to reinforce learning. Participants will gain proficiency in using tools like PerfView for in-depth memory analysis and practice writing efficient C# code tailored for performance.

PerfView for Memory Analysis

Discover how to use PerfView to analyze and understand memory usage patterns in .NET applications, enabling you to effectively identify and resolve memory issues.

Writing Efficient C# Code

Learn best practices in C# programming that focus on memory efficiency and performance optimization. This course will guide you in writing cleaner, more efficient code.

Additional

https://github.com/dotnetos/memoryexpert-course

Who teaches .NET Memory Expert? Konrad Kokosa

Konrad Kokosa thumbnail

Konrad Kokosa is a Polish .NET specialist and the author of Pro .NET Memory Management (Apress) — the canonical reference work on the CLR memory model and garbage collector. He runs Dotnetos, a .NET training company focused entirely on the deep performance side of the platform.

His CourseFlix listing carries two Konrad Kokosa courses: .NET Memory Expert and Async Expert. Material is paid and aimed at senior .NET engineers working on performance-critical applications who need to understand the CLR at the level the framework hides from most developers.

What lessons are included in .NET Memory Expert?

This is a demo lesson (10:00 remaining)

Watch the first 10 minutes free. One payment unlocks all 65 lessons here and every other premium course. No auto-renew.

Watch all 65 lessons from $6.67/mo
0:00
/
#1: Introduction
All Course Lessons (65)
#Lesson TitleDurationAccess
1
Introduction Demo
28:25
2
.NET runtime - IL, JIT, assembler
02:54:18
3
Homework
00:52
4
Value vs reference type - layout, passing by value and reference
45:19
5
Stack vs heap
01:08:33
6
null/NullReferenceException
20:30
7
Array/list of classes/structs
15:25
8
Homework
00:37
9
Automatic memory management
01:07:43
10
Pauses/throughput/latency/aggressiveness
53:05
11
Your performance goal? Don't guess, measure
26:52
12
Homework
01:24
13
GC in .NET
31:40
14
GC modes, latency modes and other settings
01:56:25
15
Homework
01:05
16
Intro
06:13
17
Events
20:29
18
Event Tracing for Windows (ETW)
01:12:48
19
Linux Trace Toolkit Next Generation (LTTng)
25:50
20
EventPipes & CLI Diagnostic Tools
44:45
21
Homework
00:16
22
Counters
49:11
23
Dumps
01:32:49
24
Profilers & Application Performance Monitoring
19:40
25
Cloud & containers
57:41
26
Homework
00:15
27
Generations and other heaps
02:00:23
28
Roots
01:58:16
29
Homework
00:16
30
Operating system cooperation
01:03:21
31
The GC partitioning internals
01:17:47
32
The GC phases internals
01:11:07
33
Homework
00:27
34
Memory leak - because of no GCs
31:30
35
Memory leak - because of fragmentation
31:20
36
Memory leak - because of roots
58:59
37
Mid-life crisis and Nepotism
30:34
38
Homework
00:11
39
Andrey Akinshin
01:23:13
40
Christophe Nasarre
01:10:55
41
Konrad Kokosa - live Q&A
01:06:37
42
Measuring and self-measuring
01:05:09
43
Reducing allocations - hidden allocations
42:10
44
Reducing allocations - pooling
26:19
45
Reducing allocations - structs
52:45
46
Reducing allocations - strings
01:10:17
47
Homework
00:30
48
Finalization
53:46
49
Disposable objects
29:44
50
IoC containers
12:35
51
Weak references
23:37
52
Homework
00:12
53
Managed pointers
59:20
54
Span<T> and Memory<T>
01:41:49
55
Unsafe class
20:48
56
Pipelines
17:03
57
Homework
00:21
58
Hardware - memory, cache, CPU
35:29
59
Object layout vs cache
26:01
60
Access patterns
40:49
61
Homework
00:13
62
Pinning
29:01
63
Off the heap
09:19
64
Function pointers
11:20
65
Homework
00:09
Watch the other 64 lessons

One payment unlocks this course and every other premium course. No auto-renew.

See plans

Books

Read Book .NET Memory Expert

#TitleTypeOpen
1M01L01Introduction —Unlock
2M01L02Runtime —Unlock
3M01L03Homework —Unlock
4M01L03HomeworkSolutions —Unlock
5M02L01ValueVsReferenceType —Unlock
6M02L02StackVsHeap —Unlock
7M02L03null —Unlock
8M02L04ArrayVsList —Unlock
9M02L05Homework —Unlock
10M03L01AutomaticMemory —Unlock
11M03L02PausesThroughpu —Unlock
12M03L03PerformanceGoal —Unlock
13M03L04Homework —Unlock
14M04L01GCinNET —Unlock
15M04L02GCModes —Unlock
16M04L03Homework —Unlock
17M05L01ToolsIntro —Unlock
18M05L02ToolsEvents —Unlock
19M05L03ToolsETW —Unlock
20M05L04ToolsLTTng —Unlock
21M05L05ToolsEventPipes —Unlock
22M05L06Homework —Unlock
23M05L06HomeworkSolutions —Unlock
24M06L01ToolsCounters —Unlock
25M06L02ToolsDumps —Unlock
26M06L03ToolsProfilersAPMs —Unlock
27M06L04ToolsCloudContainers —Unlock
28M06L05Homework —Unlock
29M06L05HomeworkSolutions —Unlock
30M07L01GenerationsAndHeaps —Unlock
31M07L02Roots —Unlock
32M07L03Homework —Unlock
33M07L03HomeworkSolutions —Unlock
34M08L01OperatingSystem —Unlock
35M08L02Paritioning —Unlock
36M08L03Phases —Unlock
37M08L04Homework —Unlock
38M08L04HomeworkSolutions —Unlock
39M09L01MemoryLeakNoGCs —Unlock
40sM09L02MemoryLeakFragmentation —Unlock
41M09L03MemoryLeakRoots —Unlock
42M09L04MidLifeCrisisAndNepotism —Unlock
43M09L05Homework —Unlock
44M09L06 —Unlock
45M09L07Dotnetos_NETCoreTroubleshootingSlides —Unlock
46M10L01Allocations —Unlock
47M10L02ReducingHidden —Unlock
48M10L03ReducingPooling —Unlock
49M10L04ReducingStructs —Unlock
50M10L05ReducingStrings —Unlock
51M10L06Homework —Unlock
52M11L01Finalization —Unlock
53M11L02DisposableObjects —Unlock
54M11L03IoCContainers —Unlock
55M11L04WeakReferences —Unlock
56M11L05HomeworkInstructions —Unlock
57M12L01ManagedPointers —Unlock
58M12L02SpanMemory —Unlock
59M12L03Unsafe —Unlock
60M12L04Pipellines —Unlock
61M12L05Homework —Unlock
62M13L01Hardware —Unlock
63M13L02ObjectLayoutVsCache —Unlock
64M13L03AccessPatterns —Unlock
65M13L04HomeworkInstructions —Unlock
66M14L01Pinning —Unlock
67M14L02OffTheHeap —Unlock
68M14L03FunctionPointers —Unlock
69M14L04HomeworkInstructions —Unlock

What courses are similar to .NET Memory Expert?

More courses by Konrad Kokosa

  • Async Expert thumbnailUpdated 1mo ago

    Async Expert

    A deep, 86-lesson dive into async-await, concurrency, and parallelism in .NET, with guest lessons from recognized C# experts.
    33h 11m5/5

Frequently asked questions

What are the prerequisites for enrolling in this course?
Prospective students should have a foundational understanding of .NET and C# programming before enrolling. Familiarity with .NET runtime concepts and basic memory management will be beneficial, as the course delves into advanced topics like Span<T> and Data-Oriented Design.
What kind of projects or exercises will I work on during the course?
The course includes hands-on exercises and practical assignments at the end of each module. These activities help students reinforce learning and gain proficiency in using tools like PerfView for memory analysis and writing efficient C# code tailored for performance.
Who is the target audience for this course?
This course is designed for software developers and engineers who work with .NET applications and want to enhance their skills in memory management. It is particularly useful for those looking to improve application performance and prevent memory-related issues in large-scale projects.
How does this course compare in depth and scope to other memory management courses?
The course provides a comprehensive exploration of .NET memory management, starting from foundational concepts like value and reference types to advanced topics such as Span<T> and native memory handling. It also covers performance analysis with tools like PerfView, making it suitable for developers seeking an in-depth understanding of memory optimization in .NET.
What specific tools and platforms will I learn to use?
Participants will gain proficiency in using PerfView for in-depth memory analysis and learn best practices in C# programming for performance optimization. The course also covers Event Tracing for Windows (ETW) and Linux Trace Toolkit Next Generation (LTTng) for diagnostic purposes.
What topics are not covered in this course?
The course focuses specifically on memory management within the .NET framework and does not cover unrelated programming languages or non-memory-related performance optimization techniques. It also does not delve into user interface design or network programming.
What is the expected time commitment to complete the course?
The course spans 14 weeks and includes 65 lessons, alongside practical assignments and exercises. Students should expect to dedicate several hours per week to engaging with the material, completing assignments, and participating in live Q&A sessions.