GO的并行算法这么慢?

tain198127 · 2013-07-18 08:52:58 · 4406 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2013-07-18 08:52:58 的主题,其中的信息可能已经有所发展或是发生改变。

我的环境如下:

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**
.........................

我擦,这简直就是差着树量级啊。


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

4406 次点击  
加入收藏 微博
4 回复  |  直到 2013-07-26 06:33:32
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传