Proposal: Continuous, Automatic, Self-Improving PGO #129930
Unanswered
NuminaOneiron
asked this question in
Ideas
Replies: 1 comment
|
Looks like AI-generated non-sense. Mixing PGO data from multiple sources isn't a good idea. Benchmarks and unit tests will typically create false directions. Instead, end-to-end profiling with final product is much more reliable. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Proposal: Continuous, Automatic, Self-Improving Profile-Guided Optimization (PGO) for .NET
1. Concept
Introduce a persistent, continuously updated Profile-Guided Optimization (PGO) system integrated into the .NET build and runtime pipeline. Instead of treating PGO as a one-off compilation step, the system becomes a long-lived optimization feedback loop:
2. Feasibility
This proposal is not speculative—it is an extension of existing, proven technologies. Modern .NET already has PGO foundations
3. Features
Automatic Profile Collection
Profiles can be generated and collected from:
Profile Merging
Profiles are continuously merged with existing profiles with:
Compiler Integration
At build time the following steps occur:
Build Storage
PGO + optimization artifacts persist across clean/rebuild (not deleted) and stored in:
4. Benefits
Automatic real-world optimization
Continuous performance improvement
Each deployment improves the next build:
Reduced manual tuning
Removes the need for:
Enables future compiler features
This system becomes a foundation for:
5. Examples
Simple opt-in usage in .csproj:
Compiler flag:
dotnet build -p:ContinuousPGO=enabled6. Conclusion
Today PGO represents a large untapped performance opportunity. A continuous PGO system transforms .NET from a static compiler-runtime system into a self-improving execution platform. If implemented, this would significantly improve real-world performance without developer intervention, reduce manual optimization effort and unlock future runtime features that depend on accurate execution modeling
All reactions