goweight
A tool to analyze and troubleshoot a Go binary size.
For more, see this blog post
β
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
Quick Start
With Go Modules - Go 1.11 or higher
$ go get github.com/jondot/goweight
$ cd current-project
$ goweight
Without Go Modules - Before Go 1.11
$ 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
Thanks:
To all Contributors - you make this happen, thanks!
Copyright
Copyright (c) 2018 @jondot. See LICENSE for further details.