New submission from Gregory P. Smith <[EMAIL PROTECTED]>: .... From Kristján Valur Jónsson (kristjan at ccpgames.com) on python-dev:
http://mail.python.org/pipermail/python-dev/2008-November/083724.html .... I came across this in socket.c: # _rbufsize is the suggested recv buffer size. It is *strictly* # obeyed within readline() for recv calls. If it is larger than # default_bufsize it will be used for recv calls within read(). What I worry about is the readline() case. Is there a reason why we want to strictly obey it for that function? Note that in the documentation for _fileobject.read() it says: # Use max, disallow tiny reads in a loop as they are very inefficient. The same argument surely applies for readline(). The reason I am fretting about this is that httplib.py (and therefore xmlrpclib.py) specify bufsize=0 when createing their socket fileobjects, presumably to make sure that write() operations are not buffered but flushed immediately. But this has the side effect of setting the _rbufsize to 1, and so readline() calls become very slow. I suggest that readline() be made to use at least defaultbufsize, like read(). Any thoughts? ---------- assignee: gregory.p.smith messages: 76516 nosy: gregory.p.smith priority: normal severity: normal status: open title: should socket readline() use default_bufsize instead of _rbufsize? type: performance versions: Python 2.6 _______________________________________ Python tracker <[EMAIL PROTECTED]> <http://bugs.python.org/issue4448> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com