From 468ff4c3ed07b815898a749eca14e9ae1ea76893 Mon Sep 17 00:00:00 2001 From: Ross Lagerwall Date: Thu, 17 May 2012 19:49:27 +0200 Subject: Issue #13031: Small speed-up for tarfile when unzipping tarfiles. Patch by Justin Peel. --- Lib/tarfile.py | 4 ++-- Misc/ACKS | 1 + Misc/NEWS | 3 +++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Lib/tarfile.py b/Lib/tarfile.py index 9d38421..8549677 100644 --- a/Lib/tarfile.py +++ b/Lib/tarfile.py @@ -245,8 +245,8 @@ def calc_chksums(buf): the high bit set. So we calculate two checksums, unsigned and signed. """ - unsigned_chksum = 256 + sum(struct.unpack("148B", buf[:148]) + struct.unpack("356B", buf[156:512])) - signed_chksum = 256 + sum(struct.unpack("148b", buf[:148]) + struct.unpack("356b", buf[156:512])) + unsigned_chksum = 256 + sum(struct.unpack_from("148B8x356B", buf)) + signed_chksum = 256 + sum(struct.unpack_from("148b8x356b", buf)) return unsigned_chksum, signed_chksum def copyfileobj(src, dst, length=None): diff --git a/Misc/ACKS b/Misc/ACKS index b9750b9..fc65795 100644 --- a/Misc/ACKS +++ b/Misc/ACKS @@ -776,6 +776,7 @@ Gaƫl Pasgrimaud Joe Peterson Randy Pausch Samuele Pedroni +Justin Peel Marcel van der Peijl Berker Peksag Steven Pemberton diff --git a/Misc/NEWS b/Misc/NEWS index 456f256..c83d3d3 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -38,6 +38,9 @@ Core and Builtins Library ------- +- Issue #13031: Small speed-up for tarfile when unzipping tarfiles. + Patch by Justin Peel. + - Issue #14780: urllib.request.urlopen() now has a ``cadefault`` argument to use the default certificate store. Initial patch by James Oakley. -- cgit v0.12