【问题标题】:How to improve Golang compilation speed?如何提高 Golang 的编译速度?
【发布时间】:2014-08-27 09:44:25
【问题描述】:

我正在尝试找到一种方法来加快 Go 程序的编译速度。目前大约需要 30 秒,这使得处理项目变得很慢。

当我运行go build -v 时,我发现大部分时间都花在编译go-sqlite3(链接到C sqlite 库)上。但是,由于这个库永远不会改变,我想知道是否有可能阻止构建工具每次都重新编译它?

【问题讨论】:

标签: performance sqlite compilation go


【解决方案1】:

试试go install -a github.com/mattn/go-sqlite3,它会将compiled-against-Go-1.3包安装到你的$GOPATH中。

现在,您可能在 $GOPATH/pkg/ 下安装了旧版本,因此 Go 正在为每个构建重新编译它。

【讨论】:

    【解决方案2】:

    这可能是因为您升级到 1.3

    我不得不删除 $GOPATH/pkg 以摆脱旧的(不兼容的)二进制文件 然后它能够​​再次缓存编译结果

    【讨论】:

      【解决方案3】:

      在 Go 1.10 中无需运行 go install 等。只需使用 go build。新版本使用构建缓存来确定哪些包需要重新编译。

      查看:https://tip.golang.org/doc/go1.10

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-20
      • 2018-08-10
      • 1970-01-01
      相关资源
      最近更新 更多