如何提高Golang编译速度?

31

我正在尝试找到一种方法来加快Go程序的编译速度。当前编译时间大约为30秒,这使得工作速度变慢。

当我运行go build -v时,我发现大部分时间都花费在编译go-sqlite3(它连接到C sqlite库)。然而,由于这个库从不改变,我想知道是否可能防止构建工具每次重新编译它?


2
可能是重复的问题:https://dev59.com/iWAf5IYBdhLWcg3wukpk - dyoo
编译速度将随着 Go 1.10(2018年第一季度)的推出而得到改善:https://stackoverflow.com/a/47109826/6309 - VonC
3个回答

46
尝试使用go install -a github.com/mattn/go-sqlite3命令安装编译于Go 1.3的软件包到$GOPATH中。目前,您可能已经安装了旧版本在$GOPATH/pkg/下,因此每次构建时Go都会重新编译它。

3

很可能是由于您升级到go 1.3版本导致的

为了摆脱旧的(不兼容的)二进制文件,我必须删除$GOPATH/pkg,然后它才能再次缓存编译结果


0
在 Go 1.10 中,无需运行 go install 等命令,只需使用 go build 即可。新版本使用构建缓存来确定哪些包需要重新编译。
请查看:https://tip.golang.org/doc/go1.10

是的,这就是我在上面的评论和 https://stackoverflow.com/a/47109826/6309 中提到的。 - VonC
哦,抱歉我错过了那个。 - Inanc Gumus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接