.NET Systems Programming Learned the Hard Way

preview_player
Показать описание
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're going to learn about .NET systems programming, the low level components we hope we can take for granted, but sometimes can't. In particular: - The `ThreadPool` and how work queues operate in practice; - Synchronization mechanisms - including `lock`-less ones; - Memory management, `Span{T}`, and garbage collection; - `await`, `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:00 Introduction
00:02:00 Aaron Stannard
00:03:06 About Me (Aaron)
00:05:55 Garbage Collection
00:23:53 Memory Allocations
00:41:09 Threads, Memory, Synchronization, and Pain
00:55:34 Learn More
01:00:43 Questions and Answers
01:16:46 Outro

Bio: Aaron Stannard is the CEO and founder of Petabridge, where he makes distributed programming for .NET developers easy by working on Akka.NET, NBench, and dozens of other OSS projects. Aaron is also the founder of Sdkbin - think NuGet meets the App Store, to help OSS and .NET developers build sustainable businesses around their work. Prior to Petabridge Aaron founded MarkedUp Analytics, a real-time in-app marketing and analytics service used by 1000+ developers in the Windows Store. Prior to that Aaron worked at Microsoft as a Startup Developer Evangelist.
Рекомендации по теме
Комментарии
Автор

Had to catch the recording, but great content and discussion!

spottedwl.
Автор

Very interesting. I'm gonna explore this. Thank you guys!

fieryscorpion
Автор

Great content thankyou Jetbrains for quality content

bilalhussainshah
Автор

Very inspiring and informative presentation, thank you guys! :)

waszmistrz