Using High-Performance Techniques to Base64 Encode a GUID
It’s been a little while since my last high-performance post, but my use of the techniques and features continues! In this post, I want to present a more practical example which I hope will help to...
View ArticleUsing the BodyReader and BodyWriter in ASP.NET Core 3.0
In this post, I will describe a scenario and potential use case for the BodyReader and BodyWriter properties which are now exposed in ASP.NET Core 3.0 via the HttpContext on the HttpRequest and...
View ArticleHigh-Performance Logging in .NET Core
In this post I will explore and highlight an approach to logging which you can apply in high-performance, high load applications to reduce the overhead of logging. A Refresher of Logging in .NET Core...
View ArticleC# 8.0: Understanding Using Declarations
In this post, I introduce a simple new language feature of C# 8 called using declarations. Based on the odd tweet or two that I have seen pass through my Twitter feed, this feature is like Marmite...
View Article.NET Performance Optimisations Don’t Have to be Complex
Readers who have followed me for some time will know that I have developed a bit of a passion for performance improvements and avoiding allocations in critical code paths. Previous blog posts have...
View ArticlePlaying with C#9 Top-level Programs, Records and Elasticsearch.NET
This post is for C# Advent Calendar 2020 organized by Matthew Groves. I recommend that you check out some of the other posts being published throughout December! In this post, I thought it was long...
View ArticleString Manipulation in C#: Best Practices
Last week my sixth Pluralsight course, “String Manipulation in C#: Best Practices” was released. This new course dives into creating, modifying, searching and parsing strings in .NET. Strings are one...
View ArticleAccessing State in System.Text.Json Custom Converters
In this post, I describe several techniques that can provide additional state to custom JsonConverters when using System.Text.Json. While building the new .NET client for Elasticsearch, one of the key...
View ArticleAutomating Memory Profiling with the JetBrains dotMemory Profiler API
Those who have read some of my previous performance-focused blog posts will know that I use the dotMemory product from JetBrains when working on code optimisations. In this post, I want to demonstrate...
View ArticleProfiling Memory Allocations on Linux using the JetBrains dotMemory...
In a previous post (Automating memory profiling with the JetBrains dotMemory Profiler API), I described the steps that could be used to automate the collection of memory snapshots and profiling data...
View Article