Michael's Coding Spot https://michaelscodingspot.com Michael Shpilt's .NET blog about C#, memory, performance, and the occasional rant Tue, 12 May 2020 06:23:45 +0000 en-US hourly 1 https://wordpress.org/?v=5.4.1 https://i1.wp.com/michaelscodingspot.com/wp-content/uploads/2017/01/cropped-stillOnWhite4-transparent-big.png?fit=32%2C32&ssl=1 Michael's Coding Spot https://michaelscodingspot.com 32 32 121742020 Demystifying Memory Profilers in C# .NET Part 3: Memory Pressure https://michaelscodingspot.com/fix-memory-pressure-dotnet/ https://michaelscodingspot.com/fix-memory-pressure-dotnet/#comments Mon, 11 May 2020 15:12:41 +0000 https://michaelscodingspot.com/?p=4604 In this article, we'll see how GC activity can cause major performance problems. This phenomenon is called Memory Pressure and we'll see how to deal with it using memory profilers.

The post Demystifying Memory Profilers in C# .NET Part 3: Memory Pressure appeared first on Michael's Coding Spot.

]]>
https://michaelscodingspot.com/fix-memory-pressure-dotnet/feed/ 3 4604
Demystifying Memory Profilers in C# .NET Part 2: Memory Leaks https://michaelscodingspot.com/memory-profilers-for-memory-leaks/ https://michaelscodingspot.com/memory-profilers-for-memory-leaks/#respond Wed, 29 Apr 2020 08:38:11 +0000 https://michaelscodingspot.com/?p=4578 Memory leaks are very common, hard to notice, and eventually, lead to devastating consequences. The main tool to detect and fix memory leaks is a Memory Profiler. In fact, I believe the most common usage of memory profilers in .NET is exactly for the purpose of fixing memory leaks. In this article, you'll see exactly how to use memory profilers to find the leaky objects, why they are still referenced, and how to solve the problem.

The post Demystifying Memory Profilers in C# .NET Part 2: Memory Leaks appeared first on Michael's Coding Spot.

]]>
https://michaelscodingspot.com/memory-profilers-for-memory-leaks/feed/ 0 4578
Demystifying Memory Profilers in C# .NET Part 1: The Principles https://michaelscodingspot.com/memory-profilers-principles/ https://michaelscodingspot.com/memory-profilers-principles/#comments Wed, 22 Apr 2020 08:20:41 +0000 https://michaelscodingspot.com/?p=4558 Memory leaks and GC Pressure cause pretty inconvenient effects like out-of-memory crashes, performance problems, and high memory consumption. Our primary tools when dealing with those issues are memory profilers. They are one of the most important category of tools in .NET troubleshooting, and in this article, you'll see how to use them and extract the most information from them.

The post Demystifying Memory Profilers in C# .NET Part 1: The Principles appeared first on Michael's Coding Spot.

]]>
https://michaelscodingspot.com/memory-profilers-principles/feed/ 1 4558
Continuous Delivery with Feature Flags (toggles) is More Difficult Than it Seems https://michaelscodingspot.com/continuous-delivery-with-feature-flags/ https://michaelscodingspot.com/continuous-delivery-with-feature-flags/#respond Thu, 09 Apr 2020 09:16:15 +0000 https://michaelscodingspot.com/?p=4527 What happens if you’re working on something that lasts much more than one sprint? Maybe 3 sprints or 10. Are you going to work on a separate branch, ending with a huge merge? Are you going to run automated tests on that branch? This matter is not that simple, as I recently experienced.

The post Continuous Delivery with Feature Flags (toggles) is More Difficult Than it Seems appeared first on Michael's Coding Spot.

]]>
https://michaelscodingspot.com/continuous-delivery-with-feature-flags/feed/ 0 4527
Is C# Slower Than C++? https://michaelscodingspot.com/csharp-performance-vs-c/ https://michaelscodingspot.com/csharp-performance-vs-c/#comments Mon, 16 Mar 2020 15:04:53 +0000 https://michaelscodingspot.com/?p=4503 Is C# slower than C++? That's a pretty big question. As a junior developer, I was sure that the answer is "Yes, definitely". Now that I'm more experienced, I know that this question is not obvious and even quite complicated.

The post Is C# Slower Than C++? appeared first on Michael's Coding Spot.

]]>
https://michaelscodingspot.com/csharp-performance-vs-c/feed/ 10 4503
10 Essential Debugging Tools for C# .NET Development https://michaelscodingspot.com/dotnet-debugging-tools/ https://michaelscodingspot.com/dotnet-debugging-tools/#comments Tue, 25 Feb 2020 10:00:07 +0000 https://michaelscodingspot.com/?p=4477 When it comes to debugging software, tools are extremely important. Get the right tool and you extract the right information. Get the right information and you can find the root cause of the issue. Find the root cause and you've solved the bug.

The post 10 Essential Debugging Tools for C# .NET Development appeared first on Michael's Coding Spot.

]]>
https://michaelscodingspot.com/dotnet-debugging-tools/feed/ 6 4477
C# to C# Communication: REST, gRPC and everything in between https://michaelscodingspot.com/rest-vs-grpc-for-asp-net/ https://michaelscodingspot.com/rest-vs-grpc-for-asp-net/#comments Mon, 10 Feb 2020 10:07:52 +0000 https://michaelscodingspot.com/?p=4439 There are many ways to communicate between a C# client and a C# server. Some are robust, others not so much. Some are very fast, others aren't. It's important to know the different options so you can decide what's best for you.

The post C# to C# Communication: REST, gRPC and everything in between appeared first on Michael's Coding Spot.

]]>
https://michaelscodingspot.com/rest-vs-grpc-for-asp-net/feed/ 17 4439
Debugging ASP.NET Web Request Failures: The Complete Guide https://michaelscodingspot.com/debugging-asp-net-web-request-errors/ https://michaelscodingspot.com/debugging-asp-net-web-request-errors/#comments Mon, 06 Jan 2020 09:55:41 +0000 https://michaelscodingspot.com/?p=4376 You’re sending an HTTP request to your ASP.NET server, and out of the blue, it returns a 500 error. Now what? The error code doesn’t say too much by itself. Did a database request fail? Was there an exception? In this article we'll see how to get the most information on the error.

The post Debugging ASP.NET Web Request Failures: The Complete Guide appeared first on Michael's Coding Spot.

]]>
https://michaelscodingspot.com/debugging-asp-net-web-request-errors/feed/ 1 4376
Debugging 3rd Party .NET Code without symbols in Visual Studio https://michaelscodingspot.com/debug-3rd-party-code-dotnet/ https://michaelscodingspot.com/debug-3rd-party-code-dotnet/#comments Mon, 09 Dec 2019 09:18:18 +0000 https://michaelscodingspot.com/?p=4348 It's not so rare to see weird things happen in 3rd party library code. Call some method and you've got a strange exception. Or an incorrect behavior or even a process crash. It sure would be nice to debug some of these issues. In this article we're going to do just that - You'll see how to debug 3rd party library code in Visual Studio.

The post Debugging 3rd Party .NET Code without symbols in Visual Studio appeared first on Michael's Coding Spot.

]]>
https://michaelscodingspot.com/debug-3rd-party-code-dotnet/feed/ 5 4348
OzCode Review and Black Friday 2019 Discount https://michaelscodingspot.com/ozcode-review-and-black-friday-2019-discount/ https://michaelscodingspot.com/ozcode-review-and-black-friday-2019-discount/#respond Thu, 28 Nov 2019 08:00:44 +0000 https://michaelscodingspot.com/?p=4325 You might have heard about OzCode before. It's an extension for Visual Studio. Like ReSharper, but with very different functionality. The single purpose of OzCode is to help you debug code and find the root cause of problems. In this blog post, I'm going to tell you about some amazing features in OzCode from my perspective and why you should try it out.

The post OzCode Review and Black Friday 2019 Discount appeared first on Michael's Coding Spot.

]]>
https://michaelscodingspot.com/ozcode-review-and-black-friday-2019-discount/feed/ 0 4325