Identify contributions of the individual runtime components to overall startup performance and use the data to define strategies for reducing CoreCLR startup time. The managed runtime startup uses the following subsystems / technologies that contribute to startup:
Loading native executables
Loading managed executables
Native CoreCLR runtime
JIT
GC
Managed startup code execution
The aim is to obtain data detailing relative contribution of each component to overall startup time and use it to decide on future optimization strategies including but not limited to:
Targeted optimizations in the CoreCLR runtime (typesystem, metadata manipulation, generic support)
Perf improvements in JIT
Improving Crossgen2 to precompile a larger number of methods
Individual improvements in the managed framework (reducing allocations, lazy initialization etc.)
Suggestions for further optimization of ASP.NET (less runtime reflection, dynamic code, dependency injection)
Identify contributions of the individual runtime components to overall startup performance and use the data to define strategies for reducing CoreCLR startup time. The managed runtime startup uses the following subsystems / technologies that contribute to startup:
The aim is to obtain data detailing relative contribution of each component to overall startup time and use it to decide on future optimization strategies including but not limited to: