[Python-checkins] python/dist/src/Lib socket.py,1.31,1.32
gvanrossum@users.sourceforge.net
gvanrossum@users.sourceforge.net
Thu, 08 Aug 2002 10:34:21 -0700
Update of /cvsroot/python/python/dist/src/Lib
In directory usw-pr-cvs1:/tmp/cvs-serv19388
Modified Files:
socket.py
Log Message:
OK, one more hack: speed up the case of readline() in unbuffered mode.
This is important IMO because httplib reads the headers this way.
Index: socket.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/socket.py,v
retrieving revision 1.31
retrieving revision 1.32
diff -C2 -d -r1.31 -r1.32
*** socket.py 8 Aug 2002 17:16:09 -0000 1.31
--- socket.py 8 Aug 2002 17:34:19 -0000 1.32
***************
*** 308,311 ****
--- 308,322 ----
if size < 0:
# Read until \n or EOF, whichever comes first
+ if self._rbufsize <= 1:
+ # Speed up unbuffered case
+ assert data == ""
+ buffers = []
+ recv = self._sock.recv
+ while data != "\n":
+ data = recv(1)
+ if not data:
+ break
+ buffers.append(data)
+ return "".join(buffers)
nl = data.find('\n')
if nl >= 0: