dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.8k stars 4.61k forks source link

Enable native PGO optimization for more native libraries #95537

Open jkotas opened 8 months ago

jkotas commented 8 months ago

The native PGO optimization is enabled for coreclr.dll and clrjit.dll only today. We should consider enabling it for other shipping native libraries. In particular:

ghost commented 8 months ago

Tagging subscribers to this area: @dotnet/runtime-infrastructure See info in area-owners.md if you want to be subscribed.

Issue Details
The native PGO optimization is enabled for coreclr.dll and clrjit.dll only today. We should consider enabling for other shipping native .dlls. In particular: - dotnet.exe and hostpolicy.dll: PGO is likely going to improve code locality that indirectly improves startup time and working set. It won't be a huge improvement, but every bit that helps startup is goodness. - clrcompression.dll: PGO is likely going to improve compression throughput.
Author: jkotas
Assignees: -
Labels: `tenet-performance`, `area-Infrastructure`
Milestone: -
jkotas commented 8 months ago

cc @trylek @mangod9

mangod9 commented 8 months ago

Adding @davidwrighton as well. Not sure whether we collect any PGO data for these binaries?

jkotas commented 8 months ago

Not sure whether we collect any PGO data for these binaries?

We do not today. The PGO data collection and consumption is enabled in the build for coreclr.dll and clrjit.dll only.

EgorBo commented 8 months ago

https://github.com/dotnet/runtime/issues/67671