-
Notifications
You must be signed in to change notification settings - Fork 5k
Native AOT: Re-order method bodies using PGO data #114093
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas |
What PGO data Native AOT use, is it different from static PGO tool referenced here - |
No different, same file. This isn’t a supportedw scenario yet. |
crossgen2 has an existing implementation of Pettis-Hansen that could be leveraged: https://github.com/dotnet/runtime/blob/main/src/coreclr/tools/aot/ILCompiler.ReadyToRun/Compiler/PettisHansenSort/PettisHansen.cs |
It would be awfully nice to get working supported static PGO solution for Native AOT ... |
Right now Native AOT only uses PGO data to affect intra-body optimization opportunities. If method bodies were re-ordered, we could reduce the memory usage of many programs by putting all the "hot" methods into pages at the beginning of the image and cold methods at the end.
There are further possible improvements, but even a naive approach would be worth exploring.
The text was updated successfully, but these errors were encountered: