[issue16269] multiprocessing.Queue uses select()

Giampaolo Rodola' report at bugs.python.org
Thu Oct 18 00:34:49 CEST 2012


Giampaolo Rodola' added the comment:

On one hand this seems reasonable to me, on the other hand I'm not sure.
select() other than being supported on all platforms has the advantage of being simple and quick to use (you just call it once by passing a set of fds and then you're done).

poll() / epoll() aren't as simple as they require:

- e/poll() object initialization
- fds registration 
- fds unregistration
- e/poll() object destruction

Given the exact point where this is supposed to take place (here: http://hg.python.org/cpython/file/f6fcff683866/Lib/multiprocessing/connection.py#l865) I'm not sure it's really worth the effort as on one hand you fix a pretty rare scalability issue, on the other hand you introduce a considerable slowdown given the amount of operations involved and described above.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue16269>
_______________________________________


More information about the Python-bugs-list mailing list