runtime
List of blog posts that provide a ‘deep-dive’ into the CoreCLR source code
Posts that take a high-level overview of releases
Corestart 2.0: What’s new for performance in .NET Core 2.0
Performance Improvements in .NET Core 2.0
Performance Improvements in .NET Core 2.1
Performance Improvements in .NET Core 3.0
Performance Improvements in .NET 5
Performance Improvements in .NET 6
Performance Improvements in .NET 7
Performance Improvements in .NET 8
Posts that take a high-level look at the entire source:
A Hitchhikers Guide to the CoreCLR Source Code
The 68 things the CLR does before executing a single line of your code
Research papers in the .NET source
Posts that reference specific parts of the source:
A look at the internals of ‘boxing’ in the CLR
Memory Usage Inside the CLR
How the .NET Runtime loads a Type
Adding a new Bytecode Instruction to the CLR
Arrays and the CLR - a Very Special Relationship
The CLR Thread Pool ‘Thread Injection’ Algorithm
The .NET IL Interpreter
How do .NET delegates work?
Why is reflection slow?
Preventing .NET Garbage Collections with the TryStartNoGCRegion API
GC Pauses and Safe Points
Strings and the CLR - a Special Relationship
How Async/Await Really Works in C#