在 Golang Gin 写的后台程序加上 GoAdmin 之后,go build 生成的发布包体积已经达到了 30M 之巨。上传阿里云服务器,以 400K/s 的传输速度得上传1分钟。
30075408
网上找到一个解决方案,加上编译参数:
go build -ldflags "-s -w"
体积减小到了 23M。
22778576
文件大小降幅大约四分之一。
编译参数
- -s 的作用是去掉符号信息。去掉符号表,golang panic 时 stack trace 就看不到文件名及出错行号信息了。
- -w 的作用是去掉 DWARF tables 调试信息。结果就是得到的程序就不能用 gdb 调试了。
DWARF tables
DWARF tables needed for debuggers
更极端的压缩方法
https://blog.filippo.io/shrink-your-go-binaries-with-this-one-weird-trick/
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式