【发布时间】:2019-11-11 20:48:13
【问题描述】:
在一次工作面试中,我必须回答这个问题 - 由于在 Go 中使用 epoll 集成/实现,您有哪些优势。
我只知道 epoll 可以做什么,任何描述符计数的复杂度都是 O(1),但不知道为什么 Go 比其他语言更好。
我找到了这个分支https://news.ycombinator.com/item?id=15624586 并且有人说可能是因为 Go 不使用堆栈切换。这对我来说很难理解。程序的哪一部分不使用堆栈切换?每个 goroutine 都有自己的堆栈。
【问题讨论】:
-
那条评论指的是单线程用例,在这种情况下没有堆栈切换,因为只有一个 goroutine(没有什么可以切换的)。
标签: performance go epoll