我的环境如下:
INTEL I5-2500K 4CORE 3.7GHZ
8G 内存
我分别用C#4.0和GO1.1写了一个计算质数的小程序。
C#我分别用串行算法和并行算法计算了1000,10000,50000,100000以内的质数。
GOLANG我只是用了并行算法,也是计算了1000,10000,50000,100000以内大的质数。
算法很简单,就是两个for循环。本以为GO是本地语言,至少要比C#快一些的。结果却让我吐血
GO:
目前有4个CPU
执行1000次的时间
4 毫秒
..............................
执行10000次的时间
256 毫秒
..............................
执行50000次的时间
**7099** 毫秒
..............................
执行100000次的时间
**26950** 毫秒
..............................
C#4.0:
E:\code\parallTest\parallTest\bin\Release>parallTest.exe
目前有4个CPU
计算1000次的时间
串行算法时间:0
并行算法时间:1
.........................
计算10000次的时间
串行算法时间:42
并行算法时间:14
.........................
计算50000次的时间
串行算法时间:883
并行算法时间:**268**
.........................
计算100000次的时间
串行算法时间:3309
并行算法时间:**923**
.........................
我擦,这简直就是差着树量级啊。
更多评论