事情已经发生了改变。
我认为你提出的问题的当前正确答案是质疑go语言慢的观点。在你提问的时候,你的判断是有道理的,但是go语言的性能在此之后得到了很大的提高。现在,它还没有像C语言那么快,但就一般情况而言也远远不会慢10倍。
参考
计算机语言基准测试结果。
截至本文撰写时:
source secs KB gz cpu cpu load
reverse-complement
1.167x
Go 0.49 88,320 1278 0.84 30
C gcc 0.42 145,900 812 0.57 0
pidigits
1.21x
Go 2.10 8,084 603 2.10 0
C gcc 1.73 1,992 448 1.73 1
fasta
1.45x
Go 1.97 3,456 1344 5.76 76
C gcc 1.36 2,800 1993 5.26 96
regex-dna
1.64x
Go 3.89 369,380 1229 8.29 43
C gcc 2.43 339,000 2579 5.68 46
fannkuch-redux
1.72x
Go 15.59 952 900 62.08 100
C gcc 9.07 1,576 910 35.43 100
spectral-norm
2x
Go 3.96 2,412 548 15.73 99
C gcc 1.98 1,776 1139 7.87 99
n-body
2.27x
Go 21.73 952 1310 21.73 0
C gcc 9.56 1,000 1490 9.56 1
k-nucleotide
2.40x
Go 15.48 149,276 1582 54.68 88
C gcc 6.46 130,076 1500 17.06 51
mandelbrot
3.19x
Go 5.68 30,756 894 22.56 100
C gcc 1.78 29,792 911 7.03 100
尽管如此,在二叉树基准测试中,它确实遭受了惨重的打击:
binary-trees
12.16x
Go 39.88 361,208 688 152.12 96% 95% 96% 96%
C gcc 3.28 156,780 906 10.12 91% 77% 59% 83%