This issue captures the planned work for .NET 7. This list is expected to change throughout the release cycle according to ongoing planning and discussions, with possible additions and subtractions to the scope.
Summary
Dynamic PGO is an opt-in feature introduced in .NET 6. In .NET 7 we will work on making Dynamic PGO easier to use, applicable to more scenarios, and offering more performance improvements.
As part of this work, we will also enable On-Stack Replacement (OSR) and change the default for QuickJitForLoops for x64 and arm64. This will improve Dynamic PGO by including methods with loops in the Tier0 set. It will also notably improve startup time for apps that have jit-intensive startup interval.
Planned for .NET 7
Under Consideration
- (EgorBo WIP for Native AOT) Add no-fallback GDV when runtime can provide full set of possible classes
Cut from .NET 7 Plans
This issue captures the planned work for .NET 7. This list is expected to change throughout the release cycle according to ongoing planning and discussions, with possible additions and subtractions to the scope.
Summary
Dynamic PGO is an opt-in feature introduced in .NET 6. In .NET 7 we will work on making Dynamic PGO easier to use, applicable to more scenarios, and offering more performance improvements.
As part of this work, we will also enable On-Stack Replacement (OSR) and change the default for QuickJitForLoops for x64 and arm64. This will improve Dynamic PGO by including methods with loops in the Tier0 set. It will also notably improve startup time for apps that have jit-intensive startup interval.
Planned for .NET 7
Under Consideration
Cut from .NET 7 Plans