Using select.select vs select.poll, select.epoll, select.select?

Hmm, what do you mean by that? I’m trying to find it in the docs. Generally, select.select is basic, a bit fiddly to use, and doesn’t scale optimally, but it ought to work. [1] In any case, the high level selectors module is likely the best choice for actual production work, which is why my first guess for the use of the select module was learning about how all these things actually work under the hood. (Which is an excellent exercise for anyone who’s planning on using high level abstractions like asyncio. Implementing those from scratch gives you a great understanding of them. But that isn’t what you were after.)


  1. For sockets, at least; but you already know that Windows won’t handle other FDs. ↩︎