Overview
Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore the intricacies of Just-In-Time (JIT) execution and Ahead-Of-Time (AOT) precompilation in the Common Language Runtime (CLR) with Mei-Chin Tsai. Delve into the unique operational aspects of the CLR compared to the Java Virtual Machine (JVM), examining the motivations behind their divergent approaches. Gain insights into the recent introduction of tiered compilation in the CLR, a step towards the Java HotSpot VM model. Discover the CLR's design philosophy, AOT technology decision points, and the evolution from first-generation NGEN to second-generation CrossGen. Analyze startup behavior, tiered compilation heuristics, and future JIT developments, including the experimental CoreRT project. This 50-minute talk provides a comprehensive overview of CLR's compilation strategies and their impact on .NET development.
Syllabus
Intro
What happens at startup?
CLR design philosopy
Design decision points for AOT tech
First Generation AOT - NGEN
What is being persisted by NGEN.exe?
Taming the size
Where do these AOT images live?
Elevated Service Task to deal with servicing
Second Generation AOT - CrossGen
Simple Hello World WebApi sample
Tiered Compilation
Heuristic of the tiering
Startup-phase behavior
How to detect startup phase
Measure again
Recap and future
Future of JIT
Our experiment - CoreRT
Taught by
Java