blog
blog copied to clipboard
减小 Go 代码编译后的二进制体积 | Go 语言高性能编程 | 极客兔兔
https://geektutu.com/post/hpg-reduce-size.html
Go 语言/golang 高性能编程,Go 语言进阶教程,Go 语言高性能编程(high performance go)。介绍了 2 种方式(编译选项和 UPX 工具) 来减小 Go 代码编译后的二进制文件/可执行文件的体积/大小。
使用的测试工程如下,该程序启动了一个 RPC 服务,引用了 log、net/http 和 net/log 三个 package。
net/log?
@bestgopher net/rpc
Git 仓已修复,网页一天后会自动刷新,左下角有 edit this page,可以直接修改的,感谢指出错误~
是不是编译打包引入的 import
包全部都编译到二进制文件中了?(那些没有用到的方法也到编辑进去导致 1KB 的文件打包 6M 了的?)
比如我的 import
如下, main
就是使用了几个方法,编译的文件巨大。。。
import (
"fmt"
"io"
"net/http"
"os"
"strings"
"time"
)
是不是编译打包引入的
import
包全部都编译到二进制文件中了?(那些没有用到的方法也到编辑进去导致 1KB 的文件打包 6M 了的?) 比如我的import
如下,main
就是使用了几个方法,编译的文件巨大。。。import ( "fmt" "io" "net/http" "os" "strings" "time" )
你可以只写一个空的main的应用程序,打包,对比下看看差距多少
比如打包
func main() {}
@bestgopher
是不是编译打包引入的
import
包全部都编译到二进制文件中了?(那些没有用到的方法也到编辑进去导致 1KB 的文件打包 6M 了的?) 比如我的import
如下,main
就是使用了几个方法,编译的文件巨大。。。import ( "fmt" "io" "net/http" "os" "strings" "time" )
你可以只写一个空的main的应用程序,打包,对比下看看差距多少
比如打包
func main() {}
func main() {}
编译出来也有 1.18M,都是再 Win10 环境下