.NET MEMORY
EXPERT

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

Course description

The ".NET Memory Expert" is a 14-week online educational program focused on efficient memory management in .NET. The course covers everything from the basics of value and reference types to advanced topics like Span<T> and the use of native memory in a Data-Oriented Design context. The course emphasizes that although .NET memory management is partly automated, it's important to know efficient memory management techniques, especially in situations involving unexpected memory growth or inefficient CPU use.

Participants will learn how to use tools like PerfView for memory analysis and how to write efficient C# code. Each module includes practical assignments to reinforce the learned material. The course is further enriched by two mentors who contribute additional lessons. It also includes the opportunity to participate in a live Q&A session with the author, where participants can ask any questions.

About agenda

What you'll 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.

KickStart -20%

€343

€429

Lifetime access

LEVEL:

ADVANCED

TIME:

42h

Lessons:

69

Language:

ENGLISH

Attendees:

316

Rating:

4.9
Buy now

Course

Authors

Konrad

kokosa

Pro .NET Memory book author | Microsoft MVP
About author

Course Agenda

69 lessons 2522 minutes 1383 slides

1..NET runtime

  • Introduction
  • .NET runtime - IL, JIT, assembler
  • Homework

2.Types basics

  • Value vs reference type - layout, passing by value and reference
  • Stack vs heap
  • null/NullReferenceException
  • Array/list of classes/structs
  • Homework

3.Memory management fundamentals

  • Automatic memory management
  • Pauses/throughput/latency/ aggressiveness
  • Your performance goal? Don't guess, measure
  • Homework

4..NET GC fundamentals

  • GC in .NET
  • GC modes, latency modes and other settings
  • Homework

5. Diagnostic tools

  • Introduction
  • Events
  • Event Tracing for Windows
  • Linux Trace Toolkit Next Generation (LTTng)
  • EventPipes & CLI Diagnostic Tools
  • Homework

6.Diagnostic tools - part II

  • Counters
  • Dumps
  • Profilers & Application Performance Monitoring
  • Cloud & containers
  • Homework

7.Roots, generations and memory leaks

  • Generations and heaps
  • Roots
  • Homework

8.The (necessary) GC internals

  • Operating system cooperation
  • The GC partitioning internals
  • The GC phases internals
  • Homework

9.Typical problems

  • Memory leaks - no GC
  • Memory leaks - fragmentation
  • Memory leaks - roots
  • Mid-life crisis and Nepotism
  • Homework

10.Allocations under control

  • Measuring and self-measuring
  • Reducing - hidden allocations
  • Reducing - pooling
  • Reducing - structs
  • Reducing - strings
  • Homework

11.Lifetime management

  • Finalization
  • IDisposable
  • IoC Containers
  • Weak references
  • Homework

12.Advanced topics and APIs

  • Managed pointers
  • Span<T> and Memory<T>
  • Unsafe class
  • Pipelines
  • Homework

13.Data Oriented Design

  • Hardware - memory, cache, CPU
  • Object layout vs cache
  • Memory acces patterns (including SOA vs AOS)
  • Homework

14.Interoperability

  • Pinning
  • Off the heap - MemoryMappedFiles, native allocations
  • Function pointers
  • Homework

15.Bonus - Mentors

  • Andrey Akinshin - Statistical analysis of memory metrics
  • Christophe Nasarre - Memory troubleshooting

Course

Mentors

Andrey

Akinshin

performance methodologist | "Pro .net benchmarking" author

Christophe

nasarre

developer and speaker | Microsoft MVP
About Mentors

Questions & 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: info@updateconference.net

Didn't find the answer you were looking for?
Don't hesitate to contact us at info@updateconference.net
KickStart -20%

€343

€429

Lifetime access

LEVEL:

ADVANCED

TIME:

42h

Lessons:

69

Language:

ENGLISH

Attendees:

316

Rating:

4.9
Buy now

Continue exploring

Dive into our wide range of courses and let our experts guide you in enhancing your technical skills and advancing your career to the next level.

28 h 4 min
online

Async Expert

From the async basics to sync and concurrency collections. 10 weeks of learning course that is trusted from more than 750 attendees. Understand the async-await technique...

Discover more
27 h 1 min
online

.NET Diagnostic Expert

Unlock the secrets of .NET diagnostics with our expert-led online course. Over 11 intensive weeks, you'll master a wide range of powerful tools to optimize performance…

Discover more
8 h 5 min
online

C# 9.0 Professional

Take command of C# 9.0 with our expert-led 9-week online course. Get hands-on with the newest features and sharpen your skills to tackle real-world challenges. Elevate your coding game…

Discover more
42 h
online

.NET Memory Expert

Master tools like PerfView and learn to optimize performance like a pro. Don't just manage memory—command it. Enroll now and level up your .NET skills!...

Discover more
2 h 40 min
online

Synchronization Expert

Transform your coding skills with our online course. Master synchronization techniques through practical demos. Enroll today and start your path to success!...

Discover more
28 h 4 min
online

Async Expert

From the async basics to sync and concurrency collections. 10 weeks of learning course that is trusted from more than 750 attendees. Understand the async-await technique...

Discover more
27 h 1 min
online

.NET Diagnostic Expert

Unlock the secrets of .NET diagnostics with our expert-led online course. Over 11 intensive weeks, you'll master a wide range of powerful tools to optimize performance…

Discover more
8 h 5 min
online

C# 9.0 Professional

Take command of C# 9.0 with our expert-led 9-week online course. Get hands-on with the newest features and sharpen your skills to tackle real-world challenges. Elevate your coding game…

Discover more
42 h
online

.NET Memory Expert

Master tools like PerfView and learn to optimize performance like a pro. Don't just manage memory—command it. Enroll now and level up your .NET skills!...

Discover more
2 h 40 min
online

Synchronization Expert

Transform your coding skills with our online course. Master synchronization techniques through practical demos. Enroll today and start your path to success!...

Discover more