Compared to 1.22, binary sizes of most toolchain binaries has increased significantly:

$ lh go1.22/go/pkg/tool/linux_amd64
total 85M
-rwxr-x--- 1 mpratt primarygroup 2.4M May 30 15:26 addr2line
-rwxr-x--- 1 mpratt primarygroup 3.7M May 30 15:26 asm
-rwxr-x--- 1 mpratt primarygroup 1.9M May 30 15:26 buildid
-rwxr-x--- 1 mpratt primarygroup 3.6M May 30 15:26 cgo
-rwxr-x--- 1 mpratt primarygroup  19M May 30 15:26 compile
-rwxr-x--- 1 mpratt primarygroup 2.4M May 30 15:26 covdata
-rwxr-x--- 1 mpratt primarygroup 4.1M May 30 15:26 cover
-rwxr-x--- 1 mpratt primarygroup 3.0M May 30 15:26 doc
-rwxr-x--- 1 mpratt primarygroup 2.5M May 30 15:26 fix
-rwxr-x--- 1 mpratt primarygroup 5.1M May 30 15:26 link
-rwxr-x--- 1 mpratt primarygroup 2.3M May 30 15:26 nm
-rwxr-x--- 1 mpratt primarygroup 3.4M May 30 15:26 objdump
-rwxr-x--- 1 mpratt primarygroup 1.6M May 30 15:26 pack
-rwxr-x--- 1 mpratt primarygroup  12M May 30 15:26 pprof
-rwxr-x--- 1 mpratt primarygroup 2.0M May 30 15:26 test2json
-rwxr-x--- 1 mpratt primarygroup  12M May 30 15:26 trace
-rwxr-x--- 1 mpratt primarygroup 5.9M May 30 15:26 vet
$ lh go1.23/go/pkg/tool/linux_amd64
total 159M
-rwxr-x--- 1 mpratt primarygroup 7.1M Jun 20 15:20 addr2line
-rwxr-x--- 1 mpratt primarygroup 8.3M Jun 20 15:20 asm
-rwxr-x--- 1 mpratt primarygroup 6.5M Jun 20 15:20 buildid
-rwxr-x--- 1 mpratt primarygroup 7.7M Jun 20 15:20 cgo
-rwxr-x--- 1 mpratt primarygroup  23M Jun 20 15:20 compile
-rwxr-x--- 1 mpratt primarygroup 6.8M Jun 20 15:20 covdata
-rwxr-x--- 1 mpratt primarygroup 8.4M Jun 20 15:20 cover
-rwxr-x--- 1 mpratt primarygroup 7.2M Jun 20 15:20 doc
-rwxr-x--- 1 mpratt primarygroup 7.0M Jun 20 15:20 fix
-rwxr-x--- 1 mpratt primarygroup 9.0M Jun 20 15:20 link
-rwxr-x--- 1 mpratt primarygroup 7.0M Jun 20 15:20 nm
-rwxr-x--- 1 mpratt primarygroup 7.7M Jun 20 15:20 objdump
-rwxr-x--- 1 mpratt primarygroup 6.3M Jun 20 15:20 pack
-rwxr-x--- 1 mpratt primarygroup  12M Jun 20 15:20 pprof
-rwxr-x--- 1 mpratt primarygroup 6.4M Jun 20 15:20 preprofile
-rwxr-x--- 1 mpratt primarygroup 6.3M Jun 20 15:20 test2json
-rwxr-x--- 1 mpratt primarygroup  13M Jun 20 15:20 trace
-rwxr-x--- 1 mpratt primarygroup  11M Jun 20 15:20 vet

It looks like this is due to too much of x/telemetry appearing reachable to the compile when it actually isn't reachable at runtime.

cc @matloob

Comment From: gabyhelp

Similar Issues

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

Comment From: gopherbot

Change https://go.dev/cl/593976 mentions this issue: cmd/internal: seprate counter package from telemetry package

Comment From: gopherbot

Change https://go.dev/cl/594015 mentions this issue: cmd/vendor: pull in golang.org/x/telemetry@b4de734

Comment From: gopherbot

Change https://go.dev/cl/594019 mentions this issue: [release-branch.go1.23] cmd/vendor: pull in golang.org/x/telemetry@b4de734

Comment From: gopherbot

Change https://go.dev/cl/594020 mentions this issue: [release-branch.go1.23] cmd/internal: separate counter package from telemetry package

Comment From: matloob

Here are my numbers from my machine to compare the results of the change I just submitted:

The increases are far less but each of the files seem to be about a half megabyte bigger

release-branch.go1.22:

-rwxr-xr-x  1 matloob  primarygroup   2.5M Jun 21 17:31 addr2line
-rwxr-xr-x  1 matloob  primarygroup   3.8M Jun 21 17:31 asm
-rwxr-xr-x  1 matloob  primarygroup   1.9M Jun 21 17:31 buildid
-rwxr-xr-x  1 matloob  primarygroup   3.5M Jun 21 17:31 cgo
-rwxr-xr-x  1 matloob  primarygroup    18M Jun 21 17:31 compile
-rwxr-xr-x  1 matloob  primarygroup   2.3M Jun 21 17:31 covdata
-rwxr-xr-x  1 matloob  primarygroup   4.0M Jun 21 17:31 cover
-rwxr-xr-x  1 matloob  primarygroup   2.7M Jun 21 17:31 dist
-rwxr-xr-x  1 matloob  primarygroup   2.1M Jun 21 17:31 distpack
-rwxr-xr-x  1 matloob  primarygroup   2.9M Jun 21 17:31 doc
-rwxr-xr-x  1 matloob  primarygroup   2.4M Jun 21 17:31 fix
-rwxr-xr-x  1 matloob  primarygroup   5.0M Jun 21 17:31 link
-rwxr-xr-x  1 matloob  primarygroup   2.4M Jun 21 17:31 nm
-rwxr-xr-x  1 matloob  primarygroup   3.4M Jun 21 17:31 objdump
-rwxr-xr-x  1 matloob  primarygroup   1.6M Jun 21 17:31 pack
-rwxr-xr-x  1 matloob  primarygroup    11M Jun 21 17:31 pprof
-rwxr-xr-x  1 matloob  primarygroup   1.9M Jun 21 17:31 test2json
-rwxr-xr-x  1 matloob  primarygroup    11M Jun 21 17:31 trace
-rwxr-xr-x  1 matloob  primarygroup   5.7M Jun 21 17:31 vet

release-branch.go1.23 with CLs 594019, 594020 and 594021 cherry picked in:

$ ls -lh pkg/tool/darwin_arm64/
total 204520
-rwxr-xr-x  1 matloob  primarygroup   3.0M Jun 21 17:14 addr2line
-rwxr-xr-x  1 matloob  primarygroup   4.3M Jun 21 17:14 asm
-rwxr-xr-x  1 matloob  primarygroup   2.5M Jun 21 17:14 buildid
-rwxr-xr-x  1 matloob  primarygroup   3.8M Jun 21 17:14 cgo
-rwxr-xr-x  1 matloob  primarygroup    18M Jun 21 17:14 compile
-rwxr-xr-x  1 matloob  primarygroup   2.8M Jun 21 17:14 covdata
-rwxr-xr-x  1 matloob  primarygroup   4.3M Jun 21 17:14 cover
-rwxr-xr-x  1 matloob  primarygroup   2.8M Jun 21 17:14 dist
-rwxr-xr-x  1 matloob  primarygroup   2.6M Jun 21 17:14 distpack
-rwxr-xr-x  1 matloob  primarygroup   3.2M Jun 21 17:14 doc
-rwxr-xr-x  1 matloob  primarygroup   2.9M Jun 21 17:14 fix
-rwxr-xr-x  1 matloob  primarygroup   5.3M Jun 21 17:14 link
-rwxr-xr-x  1 matloob  primarygroup   3.0M Jun 21 17:14 nm
-rwxr-xr-x  1 matloob  primarygroup   3.8M Jun 21 17:14 objdump
-rwxr-xr-x  1 matloob  primarygroup   2.2M Jun 21 17:14 pack
-rwxr-xr-x  1 matloob  primarygroup    12M Jun 21 17:14 pprof
-rwxr-xr-x  1 matloob  primarygroup   2.3M Jun 21 17:14 preprofile
-rwxr-xr-x  1 matloob  primarygroup   2.4M Jun 21 17:14 test2json
-rwxr-xr-x  1 matloob  primarygroup    12M Jun 21 17:14 trace
-rwxr-xr-x  1 matloob  primarygroup   6.8M Jun 21 17:14 vet

Comment From: gopherbot

Change https://go.dev/cl/594335 mentions this issue: internal/telemetry: avoid use of x/mod/module.IsPseudoVersion

Comment From: gopherbot

Change https://go.dev/cl/593684 mentions this issue: cmd/vendor: vendor x/telemetry@38a4430

Comment From: matloob

Here are numbers from my machine to compare the results after Hana's change:

The increases are down to .2-.4 megabytes for most binaries

go1.22.4:

ls -lh pkg/tool/darwin_arm64 
total 181376
-rwxr-xr-x  1 matloob  primarygroup   2.5M Jun 21 17:46 addr2line
-rwxr-xr-x  1 matloob  primarygroup   3.8M Jun 21 17:46 asm
-rwxr-xr-x  1 matloob  primarygroup   1.9M Jun 21 17:46 buildid
-rwxr-xr-x  1 matloob  primarygroup   3.5M Jun 21 17:46 cgo
-rwxr-xr-x  1 matloob  primarygroup    18M Jun 21 17:46 compile
-rwxr-xr-x  1 matloob  primarygroup   2.3M Jun 21 17:46 covdata
-rwxr-xr-x  1 matloob  primarygroup   4.0M Jun 21 17:46 cover
-rwxr-xr-x  1 matloob  primarygroup   2.7M Jun 21 17:46 dist
-rwxr-xr-x  1 matloob  primarygroup   2.1M Jun 21 17:46 distpack
-rwxr-xr-x  1 matloob  primarygroup   2.9M Jun 21 17:46 doc
-rwxr-xr-x  1 matloob  primarygroup   2.4M Jun 21 17:46 fix
-rwxr-xr-x  1 matloob  primarygroup   5.0M Jun 21 17:46 link
-rwxr-xr-x  1 matloob  primarygroup   2.4M Jun 21 17:46 nm
-rwxr-xr-x  1 matloob  primarygroup   3.4M Jun 21 17:46 objdump
-rwxr-xr-x  1 matloob  primarygroup   1.6M Jun 21 17:46 pack
-rwxr-xr-x  1 matloob  primarygroup    11M Jun 21 17:46 pprof
-rwxr-xr-x  1 matloob  primarygroup   1.9M Jun 21 17:46 test2json
-rwxr-xr-x  1 matloob  primarygroup    11M Jun 21 17:46 trace
-rwxr-xr-x  1 matloob  primarygroup   5.7M Jun 21 17:46 vet

release-branch.go1.23 with CLs 594015, 593976, 594017, and 593684 cherry picked in:

ls -lh pkg/tool/darwin_arm64 
total 199032
-rwxr-xr-x  1 matloob  primarygroup   2.7M Jun 24 14:55 addr2line
-rwxr-xr-x  1 matloob  primarygroup   4.0M Jun 24 14:55 asm
-rwxr-xr-x  1 matloob  primarygroup   2.2M Jun 24 14:55 buildid
-rwxr-xr-x  1 matloob  primarygroup   3.8M Jun 24 14:55 cgo
-rwxr-xr-x  1 matloob  primarygroup    18M Jun 24 14:55 compile
-rwxr-xr-x  1 matloob  primarygroup   2.8M Jun 24 14:55 covdata
-rwxr-xr-x  1 matloob  primarygroup   4.3M Jun 24 14:55 cover
-rwxr-xr-x  1 matloob  primarygroup   2.8M Jun 24 14:55 dist
-rwxr-xr-x  1 matloob  primarygroup   2.3M Jun 24 14:55 distpack
-rwxr-xr-x  1 matloob  primarygroup   3.2M Jun 24 14:55 doc
-rwxr-xr-x  1 matloob  primarygroup   2.7M Jun 24 14:55 fix
-rwxr-xr-x  1 matloob  primarygroup   5.3M Jun 24 14:55 link
-rwxr-xr-x  1 matloob  primarygroup   2.7M Jun 24 14:55 nm
-rwxr-xr-x  1 matloob  primarygroup   3.8M Jun 24 14:55 objdump
-rwxr-xr-x  1 matloob  primarygroup   1.9M Jun 24 14:55 pack
-rwxr-xr-x  1 matloob  primarygroup    12M Jun 24 14:55 pprof
-rwxr-xr-x  1 matloob  primarygroup   2.0M Jun 24 14:55 preprofile
-rwxr-xr-x  1 matloob  primarygroup   2.2M Jun 24 14:55 test2json
-rwxr-xr-x  1 matloob  primarygroup    12M Jun 24 14:55 trace
-rwxr-xr-x  1 matloob  primarygroup   6.8M Jun 24 14:55 vet

Looking at cmd/buildid most of the differences in the symbols seem reasonable to me

Comment From: matloob

Closing this issue. The unintended binary size increases have been addressed.