cpython: 088a14031998 (original) (raw)

Mercurial > cpython

changeset 82225:088a14031998

Issue #8745: Small speed up zipimport on Windows. Patch by Catalin Iacob. [#8745]

Serhiy Storchaka storchaka@gmail.com
date Sat, 16 Feb 2013 17:43:45 +0200
parents 73a16d3c066a
children aa17a0dab86a
files Lib/test/test_zipimport.py Misc/NEWS Modules/zipimport.c
diffstat 3 files changed, 22 insertions(+), 9 deletions(-)[+] [-] Lib/test/test_zipimport.py 2 Misc/NEWS 2 Modules/zipimport.c 27

line wrap: on

line diff

--- a/Lib/test/test_zipimport.py +++ b/Lib/test/test_zipimport.py @@ -196,6 +196,7 @@ class UncompressedZipImportTestCase(Impo for name, (mtime, data) in files.items(): zinfo = ZipInfo(name, time.localtime(mtime)) zinfo.compress_type = self.compression

@@ -245,6 +246,7 @@ class UncompressedZipImportTestCase(Impo for name, (mtime, data) in files.items(): zinfo = ZipInfo(name, time.localtime(mtime)) zinfo.compress_type = self.compression

--- a/Misc/NEWS +++ b/Misc/NEWS @@ -10,6 +10,8 @@ What's New in Python 3.4.0 Alpha 1? Core and Builtins ----------------- +- Issue #8745: Small speed up zipimport on Windows. Patch by Catalin Iacob. +

--- a/Modules/zipimport.c +++ b/Modules/zipimport.c @@ -862,6 +862,7 @@ read_directory(PyObject *archive) long l, count; Py_ssize_t i; char name[MAXPATHLEN + 5];

+

+ flags = (unsigned short)PyMarshal_ReadShortFromFile(fp); compress = PyMarshal_ReadShortFromFile(fp); time = PyMarshal_ReadShortFromFile(fp); @@ -924,11 +931,11 @@ read_directory(PyObject *archive) data_size = PyMarshal_ReadLongFromFile(fp); file_size = PyMarshal_ReadLongFromFile(fp); name_size = PyMarshal_ReadShortFromFile(fp);

@@ -941,7 +948,9 @@ read_directory(PyObject *archive) p++; } p = 0; / Add terminating null byte */

bootstrap = 0; if (flags & 0x0800) @@ -988,7 +997,7 @@ read_directory(PyObject *archive) PySys_FormatStderr("# zipimport: found %ld names in %R\n", count, archive); return files; -fseek_error: +file_error: fclose(fp); Py_XDECREF(files); Py_XDECREF(nameobj);