Open slingamn opened 5 years ago
Some of these numbers check out and some of them are misleading. For example, a current stripped (no debug symbols, via -ldflags="-s -w"
) build for linux/amd64 is 10.5 MB. Stripping out the pprof listener (which removes net/http
and friends) immediately took it down to 7.3 MB. However, removing golang.org/x/sys/unix
and all its reverse dependencies produced only a marginal improvement beyond that. There doesn't seem to be any more low-hanging fruit after that (yaml
and its dependency reflect
are the biggest line items, but they're unremovable).
Anyway, this is useful information in case anyone comes to us wanting to run oragono in a very low-end environment: removing the pprof listener will save about 3 MB in binary size.
Removing runtime/pprof
entirely (including its associated /DEBUG
subcommands) saves some additional space here.
Now that we have the ASCII folding mode, PRECIS can be compiled out for a savings of about a megabyte (before stripping).
https://github.com/jondot/goweight says: