Hi there 👋

Welcome~

怎么我用了 Goroutine 还变慢了?

在 Reddit 看到了个 Goroutine 相关帖子: 一个 Go 新手实现的逐行读取文件并计算的程序,不用 Goroutine 的执行时间是 1.5 秒,用了 Goroutine 变成 2.5~3 秒了。 为什么用了 Goroutine 时间比不用还慢? 来看一下具体代码: func main() { file, err := os.Open("input.txt") sum := 0 wg := &sync.WaitGroup{} resultChan := make(chan int, 1000) if err != nil { fmt.Println("Error opening file") return } defer file.Close() scanner := bufio.NewScanner(file) now := time.Now() fmt.Println(now) for scanner.Scan() { wg.Add(1) line := scanner.Text() // fmt.Println(line) go calibrate(line, wg, resultChan) } if err := scanner....

December 5, 2023 · 2 min · 230 words · Me