.NET Inside Out Part 23 – Machine code address of any .NET Core method

This is the twentieth third part of the .NET Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 – Virtual and non-virtual calls in C# .NET Core introduced tiered compilation and reworked AOT compilation. Previously, we could get address of machine code by calling GetFunctionPointer … Continue reading .NET Inside Out Part 23 – Machine code address of any .NET Core method

.NET Inside Out Part 22 – Your application is always multithreaded and it’s not easy to exit properly

This is the twentieth second part of the .NET Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 – Virtual and non-virtual calls in C# We know that a .NET application is always multithreaded. GC creates threads for running finalizers and (depending on the settings) … Continue reading .NET Inside Out Part 22 – Your application is always multithreaded and it’s not easy to exit properly

.NET Inside Out Part 20 – Try doing nothing but decreasing performance

This is the twentieth part of the .NET Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 – Virtual and non-virtual calls in C# Let’s take this code and see its performance with BenchmarkDotNet: Results on Windows 7 and .NET Core 4.6 (I know I … Continue reading .NET Inside Out Part 20 – Try doing nothing but decreasing performance

.NET Inside Out Part 19 – Creating structure instance without calling a constructor

This is the nineteenth part of the .NET Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 – Virtual and non-virtual calls in C# Today we will see that .NET can create an instance of a structure without calling its constructor if it is not … Continue reading .NET Inside Out Part 19 – Creating structure instance without calling a constructor