diff options
Diffstat (limited to 'src/cmd/compile/profile.sh')
-rw-r--r-- | src/cmd/compile/profile.sh | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/cmd/compile/profile.sh b/src/cmd/compile/profile.sh new file mode 100644 index 0000000000..37d65d8494 --- /dev/null +++ b/src/cmd/compile/profile.sh @@ -0,0 +1,21 @@ +# 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 |