并发使我的程序变慢

时间:2014-01-03 12:36:38

标签: go

我有一个简单的程序,它可以在多边形中消耗总距离和时间,我试图让它更快。

https://gist.github.com/mochja/cf5f477348ab8fde1a4a

我试图创建goroutine,我尝试过的第一件事是在pnpolys if语句周围创建一个goroutine,所以它应该为每个多边形中的每个数据创建goroutine并停止,但我遇到了exc的问题。它的时间约慢约40倍。也许我不能创造大量的goroutines或者我确实错过了一些东西。

代码已尝试过,简单测试,为什么我的执行时间比no-goroutine版本大?

for di := range d {
    data := d[di]
    go pnpoly(len(v[pi][0]), v[pi][0], v[pi][1], data.Longitude, data.Latitude)
}

0 个答案:

没有答案