Debugging Lock Contention Performance Issues in C# .NET

Lock contention is a state where one thread is waiting for another while trying to acquire a lock. Whatever time spent waiting for the lock is “lost” time that is wasted doing nothing. This can obviously cause major performance problems. In this article, you will see how to detect lock contention problems, debug them with various tools and find the core cause of the issue.

The Battle of C# to JSON Serializers in .NET Core 3

.NET Core 3 was recently released and brought with it a bunch of innovations, including a brand new JSON (de)serializer System.Text.Json. We’re going to compare this serializer with Newtonsoft.Json and other major .NET serializers. Check out this epic performance battle.

9 Must Decisions in Web Application Development

So you’ve decided to create a web application? Great, welcome to a world without any easy choices. There is a vast amount of different great technologies in every step you are going to make. And for every option, you will find a notable company that used it with great success. We’ll go through 9 must decisions you have to make…

Pipeline Pattern Implementations in C# .NET – Part 1

The Pipeline pattern is a powerful tool in programming. The idea is to chain a group of functions in a way that the output of each function is the input the next one. The concept is pretty similar to an assembly line where each step manipulates and prepares the product for the next step.



Join the mailing list and get updates on new articles


Hi and welcome to my blog! I’m a software developer and tech leader, working with and writing about .NET, WPF, C++, office life, developer philosophy and whatever comes to mind.
More about me →

On my day job, I work on OzCode, a VS extension that makes debugging C# easier.
See for yourself →