New submission from David Hirschfeld: Back in 1999 the compile-time constant FD_SETSIZE was raised from (the default on Windows) 64 to 512 open sockets to support *serious async servers*
http://bugs.python.org/issue210843 https://github.com/python/cpython/blame/master/Modules/selectmodule.c#L29-L36 The world has moved on and serious async servers require far more than 512 sockets available. This is one of the key reasons why tornado explicitly states: > Tornado will also run on Windows, although this configuration is not > officially supported and is recommended only for development use. Yes, using select on Windows is the wrong thing to do, but it's far preferable to be able to use a library which makes use of select, putting up with the poor performance than it is to be told to use linux which often isn't an option. Since there's no alternative other than recompiling Python it would be good if this constant could be increased to a more useful (these days) value of say 16384. As a data point ZMQ have recently increased the value of this constant to 16k themselves https://github.com/zeromq/libzmq/pull/2035 ---------- messages: 280900 nosy: David Hirschfeld priority: normal severity: normal status: open title: Low FD_SETSIZE limit on Windows type: resource usage versions: Python 3.6, Python 3.7 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue28708> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com