golang写出来的程序为什么那么慢

cnchanghai · · 4283 次点击
用了lock的原因吧。我改写了一下,稍微快点。 代码如下: ```go func pings(ips string,ch chan bool) { c := exec.Command("ping", ips, "-c 1 -W 1") err := c.Run() if err == nil { fmt.Printf("ip addr%s is ok\n", ips) ch <- true } else { ch <- false } } func main() { var counter int = 0 ch := make(chan bool, 8) runtime.GOMAXPROCS(8) for i := 1; i < 254; i += 1 { ips := "202.102.201." + strconv.Itoa(i) go pings(ips, ch) } for i := 1; i < 254; i += 1 { if <-ch { counter += 1 } } fmt.Println(counter) close(ch) } ```
#5
更多评论
你的系统是几核的?另外,并非 goroutine 开的越多,就越快
#1
python 的代码也贴出来看看。
#2