Creating Strings with No Allocation Overhead Using String.Create Writing High-Performance C# and .NET Code: Part 4

In this post, I’ll continue my series about writing high-performance C# and .NET code. This time, I will focus on a new(ish) method available on the String type – String.Create. First introduced in .NET Core 2.1, this method is currently planned for inclusion as part of .NET Standard 2.1 once that is released. What Does […]

Read More

An Introduction to Optimising Code Using Span<T> Writing High-Performance C# and .NET Code: Part 3

This post continues my series about writing high-performance C# code. In this post, we’ll continue from the last two posts by introducing the Span<T> type and refactor some existing code by converting it to a Span-based version. We’ll use Benchmark.NET to compare the methods and validate whether our changes have improved the code. If you […]

Read More

Introduction to Benchmarking C# Code with Benchmark .NET Writing High-Performance C# and .NET Code: Part 2

In my previous post, I introduced this series in which I’ll share my experiences while learning about the new performance features in C# and the .NET Core (corefx) framework. In this post, I want to focus on benchmarking existing code and establishing baselines. Why Benchmark Code? The reason that I’ve started with benchmarking is that […]

Read More