Christian Heimes added the comment: Err, you are right. It's buffered. I misread one function call and thought it's not buffered at all.
>>> COUNT = 1000000 >>> LINELEN = 1000 >>> int(LINELEN * COUNT / 8192) 122070 The number looks familiar, doesn't it? :) I still stand by my analysis that the slow down is caused by Python's method call overhead and the extra function call to _checkReadable(), readable and _checkClosed(). A C implementation of the raw SocketIO class would reduce the overhead. The implementation of SocketIO assumes that performance is dominated by IO (e.g. slow internet connection). A local socket pair is faster than 10GBit/sec ethernet or 8 GBit/sec fibre channel. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue18329> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com