最近,测试文件complexdivide.go的编译时间显著增加,导致测试超时:
Executing on host: /home/boger/gccgo.git/bld/gcc/testsuite/go/../../gccgo -B/home/boger/gccgo.git/bld/gcc/testsuite/go/../../ /home/boger/gccgo.git/gcc/gcc/testsuite/go.test/test/cmplxdivide.go /home/boger/gccgo.git/gcc/gcc/testsuite/go.test/test/cmplxdivide1.go -fdiagnostics-plain-output -I/home/boger/gccgo.git/bld/powerpc64le-linux/./libgo -pedantic-errors -L/home/boger/gccgo.git/bld/powerpc64le-linux/./libgo -L/home/boger/gccgo.git/bld/powerpc64le-linux/./libgo/.libs -lm -o ./cmplxdivide.o (timeout = 300)
spawn -ignore SIGHUP /home/boger/gccgo.git/bld/gcc/testsuite/go/../../gccgo -B/home/boger/gccgo.git/bld/gcc/testsuite/go/../../ /home/boger/gccgo.git/gcc/gcc/testsuite/go.test/test/cmplxdivide.go /home/boger/gccgo.git/gcc/gcc/testsuite/go.test/test/cmplxdivide1.go -fdiagnostics-plain-output -I/home/boger/gccgo.git/bld/powerpc64le-linux/./libgo -pedantic-errors -L/home/boger/gccgo.git/bld/powerpc64le-linux/./libgo -L/home/boger/gccgo.git/bld/powerpc64le-linux/./libgo/.libs -lm -o ./cmplxdivide.o^M
WARNING: program timed out
compiler exited with status 1
exit status is 1
FAIL: go.test/test/cmplxdivide.go
这种情况发生在这次更改之后:
commit cd34d5f2c40f3c65407f4b0bee0b49fc84e4a4ab
Author: Ian Lance Taylor <iant@golang.org>
Date: Tue Dec 1 18:59:18 2020 -0800
compiler: defer to middle-end for complex division
Go used to use slightly different semantics than C99 for complex division,
so we used runtime routines to handle the different. The gc compiler
has changes its behavior to match C99, so changes ours as well.
For golang/go#14644
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/274213
现在编译需要超过5分钟。在提交之前,大约需要12秒。
4条答案
按热度按时间ibps3vxo1#
在我的x86笔记本电脑上构建测试大约需要30秒。使用GCC 10编译器时,测试大约需要4秒。
我认为这里的关键变化不是对编译器的改变,而是对测试的改变。测试过去有很多对常量
0
的引用。现在它们引用了变量zero
。这似乎使事情变慢了很多。不幸的是,我没有看到一个快速的解决方法。
wswtfjt72#
我做了个配置,现在显示这个,看起来像是在寄存器分配中。
我没有意识到测试已经改变了。如果增加是预期的,有没有办法可以增加超时时间?
jm2pwxwz3#
如果测试在PPC上真的需要5分钟才能编译完成,我们可能暂时想跳过它。
万一这有帮助的话,你能用
-ftime-report
编译测试并告诉我们耗时最长的通过情况吗?谢谢。odopli944#
解:跳过这题没有问题。我会询问gcc团队关于这个问题。这是报告。
$x^{1}a_{0}b_{1}x$