# Copyright 2023 The Go Authors. All rights reserved. # Use of this source code is governed by a BSD-style # license that can be found in the LICENSE file. # This script collects a CPU profile of the compiler # for building all targets in std and cmd, and puts # the profile at cmd/compile/default.pgo. dir=$(mktemp -d) cd $dir seed=$(date) for p in $(go list std cmd); do h=$(echo $seed $p | md5sum | cut -d ' ' -f 1) echo $p $h go build -o /dev/null -gcflags=-cpuprofile=$PWD/prof.$h $p done go tool pprof -proto prof.* > $(go env GOROOT)/src/cmd/compile/default.pgo rm -r $dir