首页 > 解决方案 > cgo 依赖项的构建时间很慢

问题描述

我有一个使用 Qt 包装器库https://github.com/therecipe/qt的 Go 程序。不幸的是,构建时间变得非常长(假设它是 go 部分)

go build -i .  // takes about 14 seconds
go run .       // takes about 8 seconds

在运行上述任一命令后,我在我的$GOPATH/pkg/linux_amd64/github.com/therecipe/qtas.a文件中获得了预编译的依赖项,因此它们不会每次都重新构建。

我尝试使用https://github.com/therecipe/qt/wiki/Faster-builds-(Linux)中描述的ccacheGold 链接器,但它没有任何改进。这个 Qt 包装器还附带了我尝试过的自己的构建工具,但它的构建时间大致相同。/usr/bin/ld.goldqtdeploy

我正在运行的系统:

go version go1.14.4 linux/amd64
Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
16GB Ram

有谁知道是否有可能至少提高一点构建时间?

编辑:

运行go build -x .显示消耗时间最大的是以下命令

~/.go/pkg/tool/linux_amd64/link -o $WORK/b001/exe/a.out -importcfg $WORK/b001/importcfg.link -buildmode=exe -buildid=k8lYa6JYqRdCY9Gyt0jX/16myMybByG5X6rOfaRpS/WHdW2kCTfMCZs2I4x9WE/k8lYa6JYqRdCY9Gyt0jX -extld=g++ ~/.cache/go-build/b5/b5e47b7f77c2df06ba69937dc8b1399b1289b7c90d2e08b3341fdf13e119c860-d

标签: qtgocgobuild-time

解决方案


推荐阅读