From 2ca1527321d7e6b65bcab45d304be82d65f3c4f4 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Tue, 11 Oct 2016 00:08:04 +0300 Subject: [PATCH] upip: upip_utarfile.skip(): Optimize for memory usage. --- upip/upip_utarfile.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/upip/upip_utarfile.py b/upip/upip_utarfile.py index 0570faf5..65ce0bdc 100644 --- a/upip/upip_utarfile.py +++ b/upip/upip_utarfile.py @@ -39,7 +39,13 @@ class FileSection: return sz def skip(self): - self.f.read(self.content_len + self.align) + sz = self.content_len + self.align + if sz: + buf = bytearray(16) + while sz: + s = min(sz, 16) + self.f.readinto(buf, s) + sz -= s class TarInfo: