cmd/compile: pgo support for external Linux perf profiles and perf_data_converter #64489
Labels
compiler/runtime
Issues related to the Go compiler and/or runtime.
help wanted
NeedsInvestigation
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone
Go PGO docs mentions some support for the external profile tooling and has a reference to the external page about supported PGO tools. Having support for the external profiling tooling is important since some organizations already have their profiling infrastructure (GWP in Google, Perforator in Yandex, sometimes even Grafana Pyroscope or similar in-house solutions).
The official documentation explicitly mentions widely used Linux'
perf
profiles for PGO purposes. Using these profiles are common thing in the C++ world due to sampling PGO support with AutoFDO tooling.pprof
package has a reference to a converter from Linuxperf
profiles topprof
profiles - https://github.com/google/perf_data_converter . Did anyone try to test it with Go PGO? Is it possible with this tool to useperf
profiles to enable PGO optimization with the current PGO infrastructure in the Go compiler?If it works, I suggest adding a mention about
perf_data_converter
to the https://github.com/golang/go/wiki/PGO-Tools page. Having a possibility to use Linux'perf
profiles can be important since it allows users to implement company-wide PGO optimization pipelines in the same way as it's done for C++ infrastructure (infrastructure and tooling reusage, you know).The text was updated successfully, but these errors were encountered: