[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: