x/build/cmd/coordinator: 使用 cmd/go 的构建缓存

eagi6jfj  于 5个月前  发布在  Go
关注(0)|答案(5)|浏览(47)

既然cmd/go有良好的缓存,那么cmd/coordinator应该使用它。我们可能需要在cmd/go中添加一些钩子来满足我们的需求,但当我大约一年前询问Russ时,他说没问题。
/cc @dmitshur@bcmills

pn9klfpd

pn9klfpd1#

构建缓存是否与特定的编译器版本绑定?一旦编译器稍作更改,每个包都需要重新构建。
你能详细说明cmd/coordinator如何使用构建缓存吗?

gtlvzcf8

gtlvzcf82#

许多CL(变更列表)不会影响编译器。(标准变更,文档更新等)
今天我们实际上构建并测试了所有内容两次:尝试bots和提交后的构建。

wooyq4lh

wooyq4lh3#

两个机器人和建造者都会使用缓存吗?我假设运行时间对机器人来说是最重要的。
我同意这是一个很好的进步。我能看到的一个可能的缺点是我们将不那么频繁地测试编译器。如果每个建造者在每次运行时都编译Go的全部内容,那么更容易发现漏洞和非常不可能的崩溃。我想知道如果我们失去了这一点,是否会成为一个问题。

q9yhzks0

q9yhzks04#

我不记得在编译器本身、汇编器或链接器中看到过很多不稳定的情况。我认为运行它们较少次数是可以接受的。

6za6bjd0

6za6bjd05#

如果我们有空闲容量并且想用它来检查是否存在问题,我们可以始终发布带有干净缓存的额外构建(或使用 GODEBUG=gocacheverify=1 )。

相关问题