Analysing .NET start-up time with Flamegraphs
A step-by-step guide to analyzing .NET application start-up performance using PerfView and flamegraphs.
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 step-by-step guide to analyzing .NET application start-up performance using PerfView and flamegraphs.
A deep technical dive into how Default Interface Methods (DIM) work under the hood in C# 8 and the .NET Core Runtime.
A curated list of academic research papers that use the .NET Common Language Runtime (CLR) as a case study or foundation for analysis.
Explains the role and implementation of 'stubs' or 'thunks' within the .NET Runtime, detailing their purpose in method dispatch and indirection.
An exploration of ASCII art found in comments within major .NET open-source repositories, categorized by technical themes.
Explores whether C# qualifies as a low-level language by porting a C++ raytracer to C# and analyzing performance, value types, and systems programming.
A deep dive into how the .NET runtime performs stack walking for garbage collection, debugging, and exception handling.
A deep dive into the .NET Core Runtime, exploring its components and building a 'Hello World' app from the raw CoreCLR source.
A retrospective analysis of the .NET platform's evolution and community contributions over four years since its open-source release.
An exploration of the history and variety of .NET runtimes, from Microsoft's official frameworks to community and research projects.
Explores the Fuzzlyn project, a fuzzer that generates random C# programs to find bugs in the .NET JIT compiler by comparing Debug and Release outputs.
Explores the monitoring, observability, and diagnostic features built into the .NET runtime, including ETW events, profiling, and debugging tools.
A curated list of presentations and talks that dive deep into the internal workings of the .NET Runtime, including garbage collection, JIT, and performance analysis.
Explores the intricate, interdependent relationship between the .NET CLR (Common Language Runtime) and its JIT (Just-In-Time) compiler.
An overview of open-source tools like PerfView and SharpLab for developers to analyze and understand the internal workings of the .NET runtime and CLR.
An in-depth look at CoreRT, a .NET runtime designed for Ahead-of-Time (AOT) compilation, comparing it to existing .NET AOT solutions.
An exploration of the ECMA-335 standard, the technical specification for the .NET Common Language Infrastructure (CLI), covering its purpose and contents.
A guide to researching and understanding the internal workings of the .NET Runtime, from defining a topic to debugging the source code.
A historical and technical look at how generics were added to the .NET Framework and C# language, driven by Microsoft Research.
A curated list of blogs and resources for developers to learn about the low-level internals and performance of the .NET runtime and CLR.