-
Notifications
You must be signed in to change notification settings - Fork 18.8k
Description
Go version
Go 1.25.5
Output of go env in your module/workspace:
On Linux, Windows and Freebsd GOARCH=amd64What did you do?
With this simple program https://odex.orijtech.com/p/3hiUoOSI or inlined below
package main
import "runtime"
func main() {
}
var _ = (*runtime.MemStats)(nil)When compiled on Linux/amd64, the generated assembly is purported to be the same per https://odex.orijtech.com/p/3hiUoOSI#asm.diff
What did you see happen?
However when I examine the binary size per https://odex.orijtech.com/p/3hiUoOSI#bin-diff.size I see some changes in binary size on Linux/amd64 and Windows/amd64, FreeBSD/amd 64 but not on Darwin/amd64

And digging into packages and the symbols we see a culprit
Yet even no source diff between versions
What did you expect to see?
No size difference given code hasn’t changed nor has the generated assembly
Most definitely we might have some alignment issues that have caused this bloat.
Kindly cc-ing @prattmic @randall77 @mknyszek @cherrymui @ianlancetaylor.
Thank you and happy new year!
Metadata
Metadata
Assignees
Labels
Type
Projects
Status



