8 Ways You can Cause Memory Leaks in .NET

8 Ways You can Cause Memory Leaks in .NET

Memory leaks are sneakily bad creatures. It's easy to ignore them for a very long time, while they slowly destroy the application. With memory leaks, your memory consumption grows, creating GC pressure and performance problems. Finally, the program will just crash on an out-of-memory exception.

C# Job Queues (part 3) with TPL Dataflow and Failure Handling

C# Job Queues (part 3) with TPL Dataflow and Failure Handling

In this article, we'll see how to implement Job Queues with TPL Dataflow, including implementations of several of the said variations. We will dive into the Dataflow mindset along the way, figuring out this awesome library.

How to Beat Array Iteration Performance with Parallelism in C# .NET

How to Beat Array Iteration Performance with Parallelism in C# .NET

Let's consider a simple programming challenge: Summing all items of a large array. Now it stands to reason that this can be easily optimized by using parallelism...

C# Job Queues (part 2) with Reactive Extensions and Channels

C# Job Queues (part 2) with Reactive Extensions and Channels

In the last article we talked about what are Job Queues in C#. We saw several great implementation using BlockingCollection and the thread-pool. In part 2, we'll see a couple of great ones including...

Challenging the C# StringBuilder Performance

Challenging the C# StringBuilder Performance

Some of the biggest performance problems in almost any .NET application boil down to string operations. They are both very common and by nature pretty expensive. In fact, looking at an average .NET Dump you’ll find that most of the memory is usually taken by strings (I heard about 70%). As you probably know, strings are immutable. So whenever you concatenate strings, a new string object is allocated, populated with content, and eventually garbage collected.

C# Job Queue Implementations in Depth - Part 1

C# Job Queue Implementations in Depth - Part 1

One of the most powerful tools in programming is the Job Queue. It's a simple concept that stands in the core of many software solutions. It's also a pretty interesting programming challenge, especially in a versatile language like C#.

Most Popular & Profitable Companies in .NET Development space in 2019

Most Popular & Profitable Companies in .NET Development space in 2019

With a rough estimate of over 3 million .NET developers, creating development tools for them is a huge market. There are several big players that are competing for that income. These companies provide productivity tools, profilers, VS extensions, UI Controls and more. We’ll see which companies are the biggest players, how they fare against each other, how much they earn, and some history on how it came to be. There are many types of tools and solutions around .

How to Create, Use, and Debug .NET application Crash Dumps in 2019

How to Create, Use, and Debug .NET application Crash Dumps in 2019

In this article, we'll see what exactly are dump files, why they are so helpful and how to use them correctly. You will see all the ways to create Dump files, to properly match them with symbols and source files and finally how to debug them to solve the problem.

When to use C# LINQ with Query Syntax over Method Syntax

When to use C# LINQ with Query Syntax over Method Syntax

In LINQ, there are 2 syntax flavors: query-syntax and method-syntax. While Method-Syntax is more popular, it isn't always better. There are several cases where query syntax is better, and this is what this article is all about. By better, I mean it makes more readable code.