3 ms·
AOT PGO is fantastic tech! However, it can only optimize for the profile that you set up for it. Deploy it on a million machines with a million use cases and so
by zamalek 10y ago
AOT PGO is fantastic tech! However, it can only optimize for the profile that you set up for it. Deploy it on a million machines with a million use cases and some of them aren't going to match up with your profile. In these cases it may very well degrade performance. So you might try to profile scenarios that hit all codepoints equally, by doing so you would defeat the purpose of PGO (and likely nullify it).
JIT PGO is adaptive to the workload that the process is experiencing. It is likely impossible to achieve this with AOT compilation.
- DannyBee 10y ago"JIT PGO is adaptive to the workload that the process is experiencing. It is likely impossible to achieve this with AOT compilation. " Of course it's not :) You just generate different binaries for each use case. Truthfully, the "million machines/million use cases" story is pretty non-realistic these days (except in the above case!) Most people run mostly-specialized services for mostly-specialized use-cases. This is because it's necessary for performance in practice anyway.