单核上的 goroutine 更快吗?

如果我运行 go 代码的服务器只有一个核心,我可以通过在其上运行 goroutine 来获得更好的性能吗?是的,为什么在没有并行性的情况下会更快?



茅侃侃
浏览 182回答 1
1回答

MMMHUHU

这取决于代码和您要阻止的内容。如果您在 I/O 上阻塞(但仍有其他非 I/O 工作要做),那么单个内核上的多个 goroutine 可以显着加快。如果你在 CPU 上阻塞,那么由于额外的开销,多个 goroutine 可能会有点慢。如果您在内存上阻塞,那么由于额外的争用和缓存无效,多个 goroutine 可能会显着变慢。没有一般的答案;这取决于你用并发解决什么问题,以及你如何实现它。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go