.NET Programming Weekly Issue 5 - February 29, 2020
0x00 A story about JIT-x86 inlining and starg
- Do you know that JIT-x86 can’t apply the inlining optimization for a method that contains the
starg
IL-opcode? The implementation ofDecimal
is a hack to avoid this situation. - JIT-x86 can’t apply the inlining optimization for method that contain the starg orldarga opcodes regardless the MethodImpl attribute.
0x01 .NET Type Internals - From a Microsoft CLR Perspective
- This greate post is out of date (CLR 2.0). But it’s still helpful to understand the internals of .Net types from a CLR perspective.
0x02 .NET Generics under the hood
- This article talked about .NET’s object memory layout and how objects lay in memory and about Method Table and EEClass and how Generics affect them and how they work under the hood, and what optimizations CLR performs to keep them efficient.
0x03 Boxing Occurrence in C#
- A discussion from StackoverFlow talked about common cases of boxing in c#.
0x04 Performance Tuning for .NET Core
- These are some tips from author’s experience in optimizing Hagar’s performance. Most of this advice is applicable to other types of libraries or applications.
0x05 .NET Memory Management Poster
- A fantastic free .NET memory management poster from Konrad Kokosa. His book ‘Pro .NET Memory Management’1 is great too.