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

Reply via email to