A look back at 2017
A .NET developer's 2017 blog retrospective, analyzing traffic stats, top posts about CLR internals, and the impact of Hacker News.
Matt Warren is a software developer and writer focused on deep technical analysis of the .NET runtime, C# internals, performance, and low-level runtime behavior.
76 articles from this blog
A .NET developer's 2017 blog retrospective, analyzing traffic stats, top posts about CLR internals, and the impact of Hacker News.
A retrospective analysis of the .NET framework's open-source journey after 3 years, examining community contributions, key milestones, and project activity.
Explains how Tiered JIT Compilation works in .NET Core, a major change allowing methods to be re-compiled for optimization.
A deep dive into the software architecture and runtimes of the BBC micro:bit educational computer, exploring its components and how they fit together.
A conference talk summary exploring Microsoft's open-source journey, community contributions to .NET Core, and how developers can get involved.
Explores a C# code pattern using nested generics that causes exponential compilation time, effectively creating a Denial-of-Service attack on the compiler.
An exploration of DotNetAnywhere, a lightweight, alternative .NET runtime, its features, limitations, and use in projects like Blazor.
Analyzing C# coding trends on GitHub using BigQuery, covering tabs vs. spaces, brace styles, and popular libraries.
Explains how boxing works internally in the .NET CLR, covering type creation, IL code, and JIT compilation.
An in-depth look at how the .NET CLR allocates and uses internal memory, exploring its data structures beyond managed code.
Explains the detailed, step-by-step process the .NET Runtime (CLR) uses to safely load and validate types, ensuring type safety.
Explains the compiler technique 'lowering' in C# (Roslyn), showing how high-level code is transformed into simpler constructs, with examples of misuse.
A technical guide on adding a custom bytecode instruction (IL opcode) to the .NET CoreCLR runtime, including steps for the runtime, JIT, and Reflection.Emit.
Explores the deep integration of arrays within the .NET CLR, covering their specification, IL instructions, and role in memory and type safety.
Explains the CLR Thread Pool's 'Hill Climbing' algorithm for dynamically managing and injecting threads to optimize throughput.
Explores the .NET IL Interpreter, its purpose for CLR bring-up and learning, and how to enable it in the CoreCLR source code.
A guide to navigating the open-source CoreCLR runtime source code, covering its structure, stats, and key components like the JIT and GC.
A deep dive into the 68 initialization steps the CLR's Execution Engine performs before running any .NET code, from infrastructure setup to component startup.
Explains how .NET delegates work internally, including their CLR implementation, IL representation, and runtime behavior.
A technical analysis comparing pause times in .NET's Workstation and Server Garbage Collection modes using a standardized benchmark.