.Net Memory Allocations and Performance

In order to write efficient and performant code, one has to understand what costs us performance and how not to pay that cost. In this session, we dive into the .NET/C# memory model to gain a better/deeper understanding of what happens in memory when we instantiate various types of classes and structs, and how best to take advantage of this knowledge. We dive deeper still into the hardware, to better understand how modern CPUs and associated hardware such as CPU cache, DRAM, Prefetcher and Branch prediction etc. work together and how, the way we write code can have a huge impact on the performance of our applications.

Turbocharged: Writing High-Performance C# and .NET Code - Steve Gordon - NDC Oslo 2024
▶︎

Turbocharged: Writing High-Performance C# and .NET Code - Steve Gordon - NDC Oslo 2024

Deep .NET: A Complete .NET Developer's Guide to Span with Stephen Toub and Scott Hanselman
▶︎

Deep .NET: A Complete .NET Developer's Guide to Span with Stephen Toub and Scott Hanselman

Garbage Collection Interview Questions and Answers | C# Interview Questions
▶︎

Garbage Collection Interview Questions and Answers | C# Interview Questions

Writing High-Performance C# and .NET Code - .Net Oxford - July 2019
▶︎

Writing High-Performance C# and .NET Code - .Net Oxford - July 2019

Stack vs Heap Memory in C++
▶︎

Stack vs Heap Memory in C++

Real-world examples on optimizing .NET performance - Stefán Jökull Sigurðarson - NDC Oslo 2023
▶︎

Real-world examples on optimizing .NET performance - Stefán Jökull Sigurðarson - NDC Oslo 2023

How C Really Works
▶︎

How C Really Works

Correcting Common Async/Await Mistakes in .NET 8 - Brandon Minnick - Copenhagen DevFest 2023
▶︎

Correcting Common Async/Await Mistakes in .NET 8 - Brandon Minnick - Copenhagen DevFest 2023

Simple Code, High Performance
▶︎

Simple Code, High Performance

Writing Allocation Free Code in C# - Matt Ellis
▶︎

Writing Allocation Free Code in C# - Matt Ellis

Change your habits: Modern techniques for modern C# - Bill Wagner
▶︎

Change your habits: Modern techniques for modern C# - Bill Wagner

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup
▶︎

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup

High-performance code design patterns in C#. Konrad Kokosa .NET Fest 2019
▶︎

High-performance code design patterns in C#. Konrad Kokosa .NET Fest 2019

Turbocharged: Writing High-performance C# and .NET code, by Steve Gordon
▶︎

Turbocharged: Writing High-performance C# and .NET code, by Steve Gordon

Co-Creator of Haskell: Functional Programming, Thinking in Types, Useless Languages | Simon Jones
▶︎

Co-Creator of Haskell: Functional Programming, Thinking in Types, Useless Languages | Simon Jones

The Uncomfortable Truth About AI “Reasoning” | World Science Festival
▶︎

The Uncomfortable Truth About AI “Reasoning” | World Science Festival

Introduction to unsafe C#: Calling native code and crashing in entirely new ways - Dennis Dietrich
▶︎

Introduction to unsafe C#: Calling native code and crashing in entirely new ways - Dennis Dietrich

Span of T vs. Memory of T
▶︎

Span of T vs. Memory of T

The Story of C++: The World's Most Consequential Programming Language | The Official Story
▶︎

The Story of C++: The World's Most Consequential Programming Language | The Official Story

Async-Await in C# 5 Part1
▶︎

Async-Await in C# 5 Part1