Skip to content

cmd/compile: reduce PGO profile processing overhead #58102

Closed
@prattmic

Description

@prattmic
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

Activity

added
NeedsFixThe path to resolution is known, but the work has not been done.
on Jan 26, 2023
added this to the Go1.21 milestone on Jan 26, 2023
self-assigned this
on Jan 26, 2023
gopherbot

gopherbot commented on Feb 1, 2023

@gopherbot
Contributor

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

modified the milestones: Go1.21, Go1.22 on Jun 5, 2023
cherrymui

cherrymui commented on Nov 27, 2023

@cherrymui
Member

#62400 has a prototype that significantly reduce build time overhead for PGO. It is too late to be integrated in for Go 1.22. Bump to Go 1.23.

modified the milestones: Go1.22, Go1.23 on Nov 27, 2023

32 remaining items

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

NeedsFixThe path to resolution is known, but the work has not been done.ToolSpeedcompiler/runtimeIssues related to the Go compiler and/or runtime.

Type

No type

Projects

Status

Done

Relationships

None yet

    Development

    No branches or pull requests

      Participants

      @CAFxX@prattmic@bcmills@gopherbot@cherrymui

      Issue actions

        cmd/compile: reduce PGO profile processing overhead · Issue #58102 · golang/go