As of v1.4.0, go-size-analyzer can calculate the distinction between two golang binaries all the way down to the bundle and part, making it straightforward to determine what’s inflicting the binary quantity to develop.
$ gsa bin-linux-1.21-amd64 bin-linux-1.22-amd64
┌────────────────────────────────────────────────────────────────┐
│ Diff between bin-linux-1.21-amd64 and bin-linux-1.22-amd64 │
├─────────┬──────────────────────┬──────────┬──────────┬─────────┤
│ PERCENT │ NAME │ OLD SIZE │ NEW SIZE │ DIFF │
├─────────┼──────────────────────┼──────────┼──────────┼─────────┤
│ +29.34% │ runtime │ 782 kB │ 1.0 MB │ +229 kB │
│ add │ inside/chacha8rand │ │ 3.1 kB │ +3.1 kB │
│ +5.70% │ <autogenerated> │ 18 kB │ 19 kB │ +1.0 kB │
│ +8.70% │ inside/abi │ 6.0 kB │ 6.6 kB │ +525 B │
│ +10.88% │ inside/cpu │ 4.7 kB │ 5.2 kB │ +515 B │
│ +4.45% │ inside/reflectlite │ 3.9 kB │ 4.1 kB │ +173 B │
│ +2.64% │ inside/bytealg │ 1.5 kB │ 1.5 kB │ +39 B │
│ +0.81% │ strconv │ 4.0 kB │ 4.0 kB │ +32 B │
│ +0.19% │ syscall │ 13 kB │ 13 kB │ +24 B │
│ -0.17% │ essential │ 19 kB │ 19 kB │ -32 B │
│ -0.37% │ embed │ 8.6 kB │ 8.6 kB │ -32 B │
│ -0.38% │ replicate │ 25 kB │ 25 kB │ -96 B │
│ -0.26% │ time │ 87 kB │ 86 kB │ -224 B │
│ -8.09% │ sync │ 9.3 kB │ 8.6 kB │ -755 B │
├─────────┼──────────────────────┼──────────┼──────────┼─────────┤
│ +7.59% │ .rodata │ 143 kB │ 153 kB │ +11 kB │
│ +5.04% │ .gopclntab │ 144 kB │ 152 kB │ +7.3 kB │
│ +3.61% │ .debug_info │ 168 kB │ 174 kB │ +6.1 kB │
│ +3.52% │ .debug_loc │ 81 kB │ 84 kB │ +2.9 kB │
│ +3.03% │ .debug_line │ 80 kB │ 82 kB │ +2.4 kB │
│ +3.39% │ .symtab │ 59 kB │ 61 kB │ +2.0 kB │
│ +4.29% │ .debug_frame │ 29 kB │ 30 kB │ +1.2 kB │
│ +1.31% │ .strtab │ 61 kB │ 62 kB │ +795 B │
│ +3.28% │ .debug_ranges │ 13 kB │ 13 kB │ +415 B │
│ +5.13% │ .knowledge │ 5.0 kB │ 5.2 kB │ +256 B │
│ +7.32% │ .typelink │ 1.3 kB │ 1.3 kB │ +92 B │
│ +27.78% │ .go.buildinfo │ 288 B │ 368 B │ +80 B │
│ -1.56% │ .debug_gdb_scripts │ 64 B │ 63 B │ -1 B │
│ -0.63% │ .noptrdata │ 2.5 kB │ 2.5 kB │ -16 B │
│ -6.48% │ .shstrtab │ 247 B │ 231 B │ -16 B │
├─────────┼──────────────────────┼──────────┼──────────┼─────────┤
│ +3.86% │ bin-linux-1.21-amd64 │ 1.6 MB │ 1.6 MB │ +61 kB │
│ │ bin-linux-1.22-amd64 │ │ │ │
└─────────┴──────────────────────┴──────────┴──────────┴─────────┘
1 Like