aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/test/testdata/pgo/devirtualize/devirt.pprof.node_map
diff options
context:
space:
mode:
authorMichael Pratt <mpratt@google.com>2024-03-04 13:29:39 -0500
committerGopher Robot <gobot@golang.org>2024-03-27 20:20:01 +0000
commit63deaf00ea6058d1422f0b435e475666cba5743e (patch)
tree20ea11d36b1c627fd99993ea6eaff8835e698ffc /src/cmd/compile/internal/test/testdata/pgo/devirtualize/devirt.pprof.node_map
parent2860e01853174e278900ef6907b1941b16fb1645 (diff)
downloadgo-63deaf00ea6058d1422f0b435e475666cba5743e.tar.xz
cmd/compile,cmd/preprofile: move logic to shared common package
The processing performed in cmd/preprofile is a simple version of the same initial processing performed by cmd/compile/internal/pgo. Refactor this processing into the new IR-independent cmd/internal/pgo package. Now cmd/preprofile and cmd/compile run the same code for initial processing of a pprof profile, guaranteeing that they always stay in sync. Since it is now trivial, this CL makes one change to the serialization format: the entries are ordered by weight. This allows us to avoid sorting ByWeight on deserialization. Impact on PGO parsing when compiling cmd/compile with PGO: * Without preprocessing: PGO parsing ~13.7% of CPU time * With preprocessing (unsorted): ~2.9% of CPU time (sorting ~1.7%) * With preprocessing (sorted): ~1.3% of CPU time The remaining 1.3% of CPU time approximately breaks down as: * ~0.5% parsing the preprocessed profile * ~0.7% building weighted IR call graph * ~0.5% walking function IR to find direct calls * ~0.2% performing lookups for indirect calls targets For #58102. Change-Id: Iaba425ea30b063ca195fb2f7b29342961c8a64c2 Reviewed-on: https://go-review.googlesource.com/c/go/+/569337 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Michael Pratt <mpratt@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com>
Diffstat (limited to 'src/cmd/compile/internal/test/testdata/pgo/devirtualize/devirt.pprof.node_map')
-rw-r--r--src/cmd/compile/internal/test/testdata/pgo/devirtualize/devirt.pprof.node_map62
1 files changed, 31 insertions, 31 deletions
diff --git a/src/cmd/compile/internal/test/testdata/pgo/devirtualize/devirt.pprof.node_map b/src/cmd/compile/internal/test/testdata/pgo/devirtualize/devirt.pprof.node_map
index c55f990e84..1bb6a80f06 100644
--- a/src/cmd/compile/internal/test/testdata/pgo/devirtualize/devirt.pprof.node_map
+++ b/src/cmd/compile/internal/test/testdata/pgo/devirtualize/devirt.pprof.node_map
@@ -1,52 +1,52 @@
GO PREPROFILE V1
-example.com/pgo/devirtualize.ExerciseFuncClosure
-example.com/pgo/devirtualize/mult%2epkg.MultClosure.func1
-18 93
-example.com/pgo/devirtualize.ExerciseIface
-example.com/pgo/devirtualize/mult%2epkg.NegMult.Multiply
-49 4
example.com/pgo/devirtualize.ExerciseFuncConcrete
example.com/pgo/devirtualize.AddFn
48 103
example.com/pgo/devirtualize.ExerciseFuncField
-example.com/pgo/devirtualize/mult%2epkg.NegMultFn
-23 8
+example.com/pgo/devirtualize.AddFn
+23 101
example.com/pgo/devirtualize.ExerciseFuncField
example.com/pgo/devirtualize/mult%2epkg.MultFn
23 94
-example.com/pgo/devirtualize.ExerciseIface
-example.com/pgo/devirtualize/mult%2epkg.Mult.Multiply
-49 40
+example.com/pgo/devirtualize.ExerciseFuncClosure
+example.com/pgo/devirtualize/mult%2epkg.MultClosure.func1
+18 93
+example.com/pgo/devirtualize.ExerciseFuncClosure
+example.com/pgo/devirtualize.Add.Add
+18 92
+example.com/pgo/devirtualize.ExerciseFuncConcrete
+example.com/pgo/devirtualize/mult%2epkg.MultFn
+48 91
example.com/pgo/devirtualize.ExerciseIface
example.com/pgo/devirtualize.Add.Add
49 55
-example.com/pgo/devirtualize.ExerciseFuncConcrete
-example.com/pgo/devirtualize/mult%2epkg.NegMultFn
-48 8
+example.com/pgo/devirtualize.ExerciseIface
+example.com/pgo/devirtualize/mult%2epkg.Mult.Multiply
+49 40
+example.com/pgo/devirtualize.ExerciseFuncClosure
+example.com/pgo/devirtualize.Sub.Add
+18 14
+example.com/pgo/devirtualize.ExerciseFuncField
+example.com/pgo/devirtualize.SubFn
+23 12
example.com/pgo/devirtualize.ExerciseFuncClosure
example.com/pgo/devirtualize/mult%2epkg.NegMultClosure.func1
18 10
+example.com/pgo/devirtualize.ExerciseFuncConcrete
+example.com/pgo/devirtualize/mult%2epkg.NegMultFn
+48 8
+example.com/pgo/devirtualize.ExerciseFuncField
+example.com/pgo/devirtualize/mult%2epkg.NegMultFn
+23 8
example.com/pgo/devirtualize.ExerciseIface
example.com/pgo/devirtualize.Sub.Add
49 7
-example.com/pgo/devirtualize.ExerciseFuncField
-example.com/pgo/devirtualize.AddFn
-23 101
-example.com/pgo/devirtualize.ExerciseFuncField
+example.com/pgo/devirtualize.ExerciseFuncConcrete
example.com/pgo/devirtualize.SubFn
-23 12
+48 5
+example.com/pgo/devirtualize.ExerciseIface
+example.com/pgo/devirtualize/mult%2epkg.NegMult.Multiply
+49 4
example.com/pgo/devirtualize.BenchmarkDevirtFuncConcrete
example.com/pgo/devirtualize.ExerciseFuncConcrete
1 2
-example.com/pgo/devirtualize.ExerciseFuncConcrete
-example.com/pgo/devirtualize/mult%2epkg.MultFn
-48 91
-example.com/pgo/devirtualize.ExerciseFuncConcrete
-example.com/pgo/devirtualize.SubFn
-48 5
-example.com/pgo/devirtualize.ExerciseFuncClosure
-example.com/pgo/devirtualize.Add.Add
-18 92
-example.com/pgo/devirtualize.ExerciseFuncClosure
-example.com/pgo/devirtualize.Sub.Add
-18 14