From 48b7969af8aa537c306eeec8d22235f360c229ed Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Thu, 8 Aug 2002 17:34:19 +0000 Subject: OK, one more hack: speed up the case of readline() in unbuffered mode. This is important IMO because httplib reads the headers this way. --- Lib/socket.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Lib/socket.py b/Lib/socket.py index 833a456..0daeadc 100644 --- a/Lib/socket.py +++ b/Lib/socket.py @@ -307,6 +307,17 @@ class _fileobject(object): data = self._rbuf 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: nl += 1 -- cgit v0.12