Tiered compilation was added as an optional feature in .NET Core 2.1. It has been demonstrated that the feature has a lot of value. We have done additional test runs that show similar gains.
There have been some reports of degradation due to tiered compilation. We believe that these cases are in the narrow minority.
We would like to do the following:
We would make the same changes in master (AKA .NET Core 3.0) at the same time.
If that doesn't work out, we could keep the feature as opt-in and enable it in some set of templates. This option isn't a proposal and would be dissapointing
Relevant links:
There have been some reports of degradation due to tiered compilation. We believe that these cases are in the vast majority.
I think you said the opposite of what you meant?
Fixed. Thanks!
Will this use the cross-gen'd code when available; falling back to tier 1 jit when not; then moving to tier 2 in hot paths?
i.e. use crossgen'd in preference to tier 1 jit; but still always getting benefit of tier 2 for hot paths
Yes. Both prejitted and tier0 code get rejitted.
Just a minor thing, but the markdown around {feature has a lot of value] is borked and not rendering correctly
Fixed. Thanks.
We're planning a small number of runtime features for 2.2. Here's how you can track them: https://github.com/dotnet/coreclr/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+label%3Aenhancement+milestone%3A2.2
Closing based on https://github.com/dotnet/coreclr/pull/19691