A tool to analyze and troubleshoot a Go binary size.
This is a fork of the upstream project.
For more, see this blog post
Features:
✅ Get a breakdown of all modules inside a binary ✅ Supports Go 1.11 modules ✅ Output as JSON for tracking and/or monitoring as part of CI
$ go get github.com/jondot/goweight
$ cd current-project
$ goweight
# Set GOOS
$ GOOS=js GOARCH=wasm goweight
$ git clone https://github.com/jondot/goweight
$ cd goweight
$ go install
$ cd current-project
$ goweight
As an example, here's what goweight
has to say about itself:
$ ./goweight
3.0 MB runtime
1.6 MB net
1.4 MB reflect
1.3 MB gopkg.in/alecthomas/kingpin.v2
870 kB math/big
668 kB github.com/alecthomas/template
628 kB syscall
626 kB text/template
550 kB go/ast
546 kB encoding/json
509 kB text/template/parse
495 kB github.com/alecthomas/template/parse
424 kB time
402 kB regexp/syntax
395 kB golang_org/x/net/dns/dnsmessage
388 kB fmt
To all Contributors - you make this happen, thanks!
Copyright (c) 2018 @jondot. See LICENSE for further details.