Skip to content
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

cmd/compile: reduce PGO profile processing overhead #58102

Open
prattmic opened this issue Jan 26, 2023 · 1 comment
Open

cmd/compile: reduce PGO profile processing overhead #58102

prattmic opened this issue Jan 26, 2023 · 1 comment
Assignees
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. NeedsFix The path to resolution is known, but the work has not been done. ToolSpeed
Milestone

Comments

@prattmic
Copy link
Member

Currently, each cmd/compile invocation parses the full PGO pprof profile, builds a full weight graph, and then determines what is relevant to that package. This is a lot of work that scales poorly with the size of the profile and the size of the build (number of packages). For particularly large profiles, this can lead to extremely long build times.

Follow-up to #55022.

cc @cherrymui @aclements

@prattmic prattmic added the NeedsFix The path to resolution is known, but the work has not been done. label Jan 26, 2023
@prattmic prattmic added this to the Go1.21 milestone Jan 26, 2023
@prattmic prattmic self-assigned this Jan 26, 2023
@gopherbot gopherbot added the compiler/runtime Issues related to the Go compiler and/or runtime. label Jan 26, 2023
@gopherbot
Copy link

Change https://go.dev/cl/464575 mentions this issue: WIP: trim profiles to only include transitive deps

@prattmic prattmic modified the milestones: Go1.21, Go1.22 Jun 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. NeedsFix The path to resolution is known, but the work has not been done. ToolSpeed
Projects
Status: Todo
Development

No branches or pull requests

3 participants