An Introduction to Optimising Code Using Span<T> A C# Performance Journey - 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

HttpClient Creation and Disposal Internals: Should I Dispose of HttpClient? .NET Core Internals - Under the Hood of HttpClient and HttpClientFactory

A common question that I get asked quite often and a point of reasonable confusion for developers is “Should I dispose of HttpClient or not?” There isn’t one yes or no answer to this. It really does depend on a few key factors. In this post, I’ll try to answer this question with enough code snippets […]

Read More

Introduction to Benchmarking C# Code with Benchmark .NET A C# Performance Journey - 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