-
Notifications
You must be signed in to change notification settings - Fork 18.5k
Open
Labels
BugReportIssues describing a possible bug in the Go implementation.Issues describing a possible bug in the Go implementation.NeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.compiler/runtimeIssues related to the Go compiler and/or runtime.Issues related to the Go compiler and/or runtime.
Milestone
Description
Go version
go1.23.5, go1.24rc2
Output of go env in your module/workspace:
n/aWhat did you do?
Build a program using a few TransientSlice[Value].
Profile it, showing hot symbols.
Run nm to see symbols.
git clone https://github.com/rsc/ivy
cd ivy
git fetch pprofbug # tag I created
go build
go tool nm ./ivy | grep Append
./ivy -profile=x.prof testdata/copy.ivy
go tool pprof ./ivy
top10
What did you see happen?
Unexpectedly long symbol names, like in the comically large and unreadable boxes in this profile:
Or in this nm output:
% go tool nm ivy | grep Append
1000cbb10 T math/big.(*Float).Append
100131f60 T robpike.io/ivy/internal/persist.(*TransientSlice[go.shape.interface { Eval(robpike.io/ivy/value.Context) robpike.io/ivy/value.Value; Inner() robpike.io/ivy/value.Value; ProgString() string; Rank() int; Sprint(*robpike.io/ivy/config.Config) string; String() string; robpike.io/ivy/value.shrink() robpike.io/ivy/value.Value; robpike.io/ivy/value.toType(string, *robpike.io/ivy/config.Config, robpike.io/ivy/value.valueType) robpike.io/ivy/value.Value }]).Append
1000837d0 T strconv.AppendInt
1000944e0 T time.Time.AppendFormat
%
What did you expect to see?
Reasonably short symbol names, and normal-sized pprof boxes.
septemhill and zikunw
Metadata
Metadata
Assignees
Labels
BugReportIssues describing a possible bug in the Go implementation.Issues describing a possible bug in the Go implementation.NeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.compiler/runtimeIssues related to the Go compiler and/or runtime.Issues related to the Go compiler and/or runtime.
Type
Projects
Status
Todo