Skip to content

Commit ba8cf1c

Browse files
committed
fallback: _fb_consume: improve performance with pypy
1 parent 56cf384 commit ba8cf1c

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

msgpack/fallback.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -202,12 +202,17 @@ def feed(self, next_bytes):
202202
self._fb_buffers.append(next_bytes)
203203

204204
def _fb_consume(self):
205-
self._fb_buffers = self._fb_buffers[self._fb_buf_i:]
205+
if self._fb_buf_i:
206+
for i in xrange(self._fb_buf_i):
207+
self._fb_buf_n -= len(self._fb_buffers[i])
208+
self._fb_buffers = self._fb_buffers[self._fb_buf_i:]
209+
self._fb_buf_i = 0
206210
if self._fb_buffers:
207211
self._fb_buffers[0] = self._fb_buffers[0][self._fb_buf_o:]
212+
self._fb_buf_n -= self._fb_buf_o
213+
else:
214+
self._fb_buf_n = 0
208215
self._fb_buf_o = 0
209-
self._fb_buf_i = 0
210-
self._fb_buf_n = sum(map(len, self._fb_buffers))
211216

212217
def _fb_got_extradata(self):
213218
if self._fb_buf_i != len(self._fb_buffers):

0 commit comments

Comments
 (0)