]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Do bytearray shrinking unconditionally in Python 3 3087/head
authorlaggardkernel <laggardkernel@gmail.com>
Wed, 8 Dec 2021 11:03:29 +0000 (19:03 +0800)
committerlaggardkernel <laggardkernel@gmail.com>
Sun, 12 Jun 2022 11:45:24 +0000 (19:45 +0800)
tornado/iostream.py

index 333d5366fc811e87a85cf8762cb4d3fb036d3f0f..5f2f7f6df7508080f5714798ab9d735a387ddc0c 100644 (file)
@@ -195,11 +195,9 @@ class _StreamBuffer(object):
                 pos += size
                 size = 0
             else:
-                # Amortized O(1) shrink for Python 2
                 pos += size
-                if len(b) <= 2 * pos:
-                    del typing.cast(bytearray, b)[:pos]
-                    pos = 0
+                del typing.cast(bytearray, b)[:pos]
+                pos = 0
                 size = 0
 
         assert size == 0
@@ -1006,12 +1004,8 @@ class BaseIOStream(object):
         ).tobytes()
         self._read_buffer_pos += loc
         self._read_buffer_size -= loc
-        # Amortized O(1) shrink
-        # (this heuristic is implemented natively in Python 3.4+
-        #  but is replicated here for Python 2)
-        if self._read_buffer_pos > self._read_buffer_size:
-            del self._read_buffer[: self._read_buffer_pos]
-            self._read_buffer_pos = 0
+        del self._read_buffer[: self._read_buffer_pos]
+        self._read_buffer_pos = 0
         return b
 
     def _check_closed(self) -> None: