In this brief blog post, I will share the tale of the mystery surrounding the missing 18 bytes. While preparing a new conference session on practical application performance optimisation, I reviewed my demo, which includes taking memory profiles as well as benchmarks during the performance optimisation loop. I like to be prepared for any and […]
Talk: Application Performance Optimisation in Practice (60 mins)
Abstract Application performance always matters. Sometimes critically, sometimes subtly, but it’s never irrelevant. While many developers rightly caution that “premature optimisation is the root of all evil,” the opposite mistake, ignoring performance until it becomes a serious issue, can be just as problematic. This talk explores the practical aspects of performance optimisation in .NET. We’ll […]
Encrypting Properties with System.Text.Json and a TypeInfoResolver Modifier (Part 1)
In this multi-part blog series, we’ll build a reasonably full-featured code base for automatically encrypting/decrypting specific properties on types that are being serialised and deserialised using System.Text.Json. In future posts, we’ll eventually build up to a solution that utilises Azure Key Vault to secure the encryption key protecting the data. Today, we’ll begin with some […]
How dotnet.exe resolves and loads the hostfxr library – Exploring the .NET muxer
In this post, we will continue our journey into the functionality and implementation of dotnet.exe, specifically focusing on how the hostfxr library is resolved and loaded. This post follows part one of this series, “A Brief Introduction to the .NET Muxer (aka dotnet.exe)“. Note: These posts are a deep dive into .NET internals and won’t […]
A Brief Introduction to the .NET Muxer (aka dotnet.exe)
This post marks the start of what I expect will be a long-term effort to explore the inner workings of .NET, expose the “magic” behind the scenes, and explain the mechanisms and underlying components of the .NET execution model. Today, we begin with a brief introduction to the .NET muxer (dotnet.exe). Note: These posts are […]