.NET Memory Expert
43h 15m 52s
English
Paid
Course description
«.NET Memory Expert» is a 14-week online program dedicated to efficient memory management in .NET. The course covers everything from the basics of value and reference types to advanced topics such as Span<T> and working with native memory in the context of Data-Oriented Design.
Despite the automation of memory management in .NET, it is important to understand how to optimize its usage, especially in situations involving memory leaks or excessive CPU load.
Participants will learn to use tools like PerfView for memory analysis, as well as write efficient C# code. Every module is accompanied by practical assignments to reinforce the material.
Watch Online
Join premium to watch
Go to premium
# | Title | Duration |
---|---|---|
1 | Introduction | 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 |
Books
Read Book .NET Memory Expert
# | Title |
---|---|
1 | M01L01Introduction |
2 | M01L02Runtime |
3 | M01L03Homework |
4 | M01L03HomeworkSolutions |
5 | M02L01ValueVsReferenceType |
6 | M02L02StackVsHeap |
7 | M02L03null |
8 | M02L04ArrayVsList |
9 | M02L05Homework |
10 | M03L01AutomaticMemory |
11 | M03L02PausesThroughpu |
12 | M03L03PerformanceGoal |
13 | M03L04Homework |
14 | M04L01GCinNET |
15 | M04L02GCModes |
16 | M04L03Homework |
17 | M05L01ToolsIntro |
18 | M05L02ToolsEvents |
19 | M05L03ToolsETW |
20 | M05L04ToolsLTTng |
21 | M05L05ToolsEventPipes |
22 | M05L06Homework |
23 | M05L06HomeworkSolutions |
24 | M06L01ToolsCounters |
25 | M06L02ToolsDumps |
26 | M06L03ToolsProfilersAPMs |
27 | M06L04ToolsCloudContainers |
28 | M06L05Homework |
29 | M06L05HomeworkSolutions |
30 | M07L01GenerationsAndHeaps |
31 | M07L02Roots |
32 | M07L03Homework |
33 | M07L03HomeworkSolutions |
34 | M08L01OperatingSystem |
35 | M08L02Paritioning |
36 | M08L03Phases |
37 | M08L04Homework |
38 | M08L04HomeworkSolutions |
39 | M09L01MemoryLeakNoGCs |
40 | sM09L02MemoryLeakFragmentation |
41 | M09L03MemoryLeakRoots |
42 | M09L04MidLifeCrisisAndNepotism |
43 | M09L05Homework |
44 | M09L06 |
45 | M09L07Dotnetos_NETCoreTroubleshootingSlides |
46 | M10L01Allocations |
47 | M10L02ReducingHidden |
48 | M10L03ReducingPooling |
49 | M10L04ReducingStructs |
50 | M10L05ReducingStrings |
51 | M10L06Homework |
52 | M11L01Finalization |
53 | M11L02DisposableObjects |
54 | M11L03IoCContainers |
55 | M11L04WeakReferences |
56 | M11L05HomeworkInstructions |
57 | M12L01ManagedPointers |
58 | M12L02SpanMemory |
59 | M12L03Unsafe |
60 | M12L04Pipellines |
61 | M12L05Homework |
62 | M13L01Hardware |
63 | M13L02ObjectLayoutVsCache |
64 | M13L03AccessPatterns |
65 | M13L04HomeworkInstructions |
66 | M14L01Pinning |
67 | M14L02OffTheHeap |
68 | M14L03FunctionPointers |
69 | M14L04HomeworkInstructions |
Comments
0 commentsSimilar courses

Automate All The Things With DevOps
Sources: Julio Casal
Your blueprint to a fully automated delivery pipeline that will take your .NET microservices to the cloud in seconds (not hours) so you'll never miss a another deadline.
3 hours 9 minutes 37 seconds

Unlock The Power Of Microservices In The Azure Cloud
Sources: Julio Casal
Deploy your .NET microservices to Kubernetes in the Microsoft Azure cloud, so you can handle production demands, minimize operational issues and save a lot of money on infrastru...
9 hours 5 minutes 43 seconds
Want to join the conversation?
Sign in to comment