Skip to content
Discussion options

You must be logged in to vote

PGO means a slower startup, but after some execution time, the program self-tunes itself and the performance increases.

Correct, it's a bit slower to start because of instrumentation in Tier0. We try to minimize that effect in .NET 8.0 e.g. via #70941 where we will be instrumenting only hot tier0 code. Also, we try to reduce overhead from instrumentation in general or/and enable some quick opts in tier0.

In .NET 6.0-7.0, for better effect from PGO you need to disable R2R via DOTNET_ReadyToRun=0 so all the code executed on start will have to jitted from scratch - it affects start time badly

AOT means a faster startup and smaller programs.

Depends on what kind of AOT you mean, if it's N…

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by danmoseley
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants