.NET Tools Livestreams

.NET Systems Programming Learned the Hard Way – Webinar Recording

The recording for .NET Systems Programming Learned the Hard Way, with CEO and Petabridge founder Aaron Stannard, is now available on JetBrainsTV.

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:

  • 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.

Agenda

Resources

About the presenter:

Aaron Stannard

Aaron Stannard

Aaron Stannard is the CEO and founder of Petabridge, who 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.

image description

Discover more