.NET Systems Programming Learned the Hard Way – Webinar Recording
What is a thread quantum, and why is it different on Windows Desktop and Windows Server? What’s the difference between a blocking call and a blocking flow? Why did our remoting benchmarks suddenly drop when we moved to .NET 6? When should I try to write lock-free code? What does the
volatile keyword mean?
Welcome to the types of questions my team and I are asked, or ask ourselves, on a regular basis – we’re the makers of Akka.NET, a high-performance distributed actor system library and these are the sorts of low-level questions we need to answer in order to build great experiences for our own users.
In this talk, we’ll learn about .NET systems programming, the low-level components we hope we can take for granted but sometimes can’t. In particular:
ThreadPooland how work queues operate in practice.
- Synchronization mechanisms – including
- Memory management,
Span<T>, and garbage collection.
Task, and the synchronization contexts; and
- Crossing user-code and system boundaries in areas such as sockets.
This talk will help .NET developers understand why their code works the way it does and what to do in scenarios that demand high performance.
- 00:00 Introduction
- 02:00 Aaron Stannard
- 03:06 About Me (Aaron)
- 05:55 Garbage Collection
- 23:53 Memory Allocations
- 41:09 Threads, Memory, Synchronization, and Pain
- 55:34 Learn More
- 1:00:43 Questions and Answers
- 1:16:46 Outro
About the presenter:
Subscribe to Blog updates
Thanks, we've got you!
Another Look into the Future with Rider’s Predictive Debugger
In the 2023.2 release cycle, we’ve introduced the Predictive Debugger in ReSharper, which gives you predictions about code paths and variables beyond the current execution pointer. We’ve written extensively about its advantages compared to alternative debugging strategies like thorough thinking, log…
The Developer Ecosystem in 2023: Key Trends for C#
We’ve captured insights from 26,348 developers worldwide in our annual Developer Ecosystem Survey 2023. This recap focuses on C# and .NET, but you can see what’s trending in other languages as well. Enjoy the results and commentary, and let us know what you think! Top Discoveries We know t…
The ReSharper 2023.3 Release Candidate Is Now Available
Get a preview of all the latest features and improvements set to be shipped with the next major ReSharper and .NET tools releases by downloading the Release Candidate builds that have just landed. Here are the major improvements in each of the new builds: The ReSharper 2023.3 Release Can…
The Rider 2023.3 Release Candidate Is Now Available
There’s only a few days left before the next major release for Rider! Don’t feel like waiting? Get a sneak peek of Rider 2023.3 now by downloading the Release Candidate build that has just landed on our website. The Release Candidate build contains all of the notable changes that we’ve introduc…