Issue #19218: Rename collections.abc to _collections_abc in order to speed up interpreter start

This commit is contained in:
Christian Heimes 2013-10-13 02:04:20 +02:00
parent ad9c9bb5a9
commit f1dc3ee16d
7 changed files with 14 additions and 6 deletions

View File

@ -15,7 +15,7 @@
import itertools
__name__ = '<doctest>'
**Source code:** :source:`Lib/collections/abc.py`
**Source code:** :source:`Lib/_collections_abc.py`
--------------

View File

@ -3,9 +3,9 @@ __all__ = ['deque', 'defaultdict', 'namedtuple', 'UserDict', 'UserList',
# For backwards compatibility, continue to make the collections ABCs
# available through the collections module.
from collections.abc import *
import collections.abc
__all__ += collections.abc.__all__
from _collections_abc import *
import _collections_abc
__all__ += _collections_abc.__all__
from _collections import deque, defaultdict
from operator import itemgetter as _itemgetter, eq as _eq

View File

@ -631,7 +631,7 @@ def get_exec_path(env=None):
# Change environ to automatically call putenv(), unsetenv if they exist.
from collections.abc import MutableMapping
from _collections_abc import MutableMapping
class _Environ(MutableMapping):
def __init__(self, data, encodekey, decodekey, encodevalue, decodevalue, putenv, unsetenv):

View File

@ -41,7 +41,7 @@ from types import MethodType as _MethodType, BuiltinMethodType as _BuiltinMethod
from math import log as _log, exp as _exp, pi as _pi, e as _e, ceil as _ceil
from math import sqrt as _sqrt, acos as _acos, cos as _cos, sin as _sin
from os import urandom as _urandom
from collections.abc import Set as _Set, Sequence as _Sequence
from _collections_abc import Set as _Set, Sequence as _Sequence
from hashlib import sha512 as _sha512
__all__ = ["Random","seed","random","uniform","randint","choice","sample",

View File

@ -445,6 +445,11 @@ class StartupImportTests(unittest.TestCase):
self.assertNotIn('locale', modules, stderr)
# http://bugs.python.org/issue19209
self.assertNotIn('copyreg', modules, stderr)
# http://bugs.python.org/issue19218>
collection_mods = {'_collections', 'collections', 'functools',
'heapq', 'itertools', 'keyword', 'operator',
'reprlib', 'types', 'weakref'}
self.assertFalse(modules.intersection(re_mods), stderr)
if __name__ == "__main__":

View File

@ -42,6 +42,9 @@ Core and Builtins
Library
-------
- Issue #19218: Rename collections.abc to _collections_abc in order to
speed up interpreter start.
- Issue #18582: Add 'pbkdf2_hmac' to the hashlib module. It implements PKCS#5
password-based key derivation functions with HMAC as pseudorandom function.