Commit f1dc3ee1 authored by Christian Heimes's avatar Christian Heimes

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

parent ad9c9bb5
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
import itertools import itertools
__name__ = '<doctest>' __name__ = '<doctest>'
**Source code:** :source:`Lib/collections/abc.py` **Source code:** :source:`Lib/_collections_abc.py`
-------------- --------------
......
...@@ -3,9 +3,9 @@ __all__ = ['deque', 'defaultdict', 'namedtuple', 'UserDict', 'UserList', ...@@ -3,9 +3,9 @@ __all__ = ['deque', 'defaultdict', 'namedtuple', 'UserDict', 'UserList',
# For backwards compatibility, continue to make the collections ABCs # For backwards compatibility, continue to make the collections ABCs
# available through the collections module. # available through the collections module.
from collections.abc import * from _collections_abc import *
import collections.abc import _collections_abc
__all__ += collections.abc.__all__ __all__ += _collections_abc.__all__
from _collections import deque, defaultdict from _collections import deque, defaultdict
from operator import itemgetter as _itemgetter, eq as _eq from operator import itemgetter as _itemgetter, eq as _eq
......
...@@ -631,7 +631,7 @@ def get_exec_path(env=None): ...@@ -631,7 +631,7 @@ def get_exec_path(env=None):
# Change environ to automatically call putenv(), unsetenv if they exist. # Change environ to automatically call putenv(), unsetenv if they exist.
from collections.abc import MutableMapping from _collections_abc import MutableMapping
class _Environ(MutableMapping): class _Environ(MutableMapping):
def __init__(self, data, encodekey, decodekey, encodevalue, decodevalue, putenv, unsetenv): def __init__(self, data, encodekey, decodekey, encodevalue, decodevalue, putenv, unsetenv):
......
...@@ -41,7 +41,7 @@ from types import MethodType as _MethodType, BuiltinMethodType as _BuiltinMethod ...@@ -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 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 math import sqrt as _sqrt, acos as _acos, cos as _cos, sin as _sin
from os import urandom as _urandom 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 from hashlib import sha512 as _sha512
__all__ = ["Random","seed","random","uniform","randint","choice","sample", __all__ = ["Random","seed","random","uniform","randint","choice","sample",
......
...@@ -445,6 +445,11 @@ class StartupImportTests(unittest.TestCase): ...@@ -445,6 +445,11 @@ class StartupImportTests(unittest.TestCase):
self.assertNotIn('locale', modules, stderr) self.assertNotIn('locale', modules, stderr)
# http://bugs.python.org/issue19209 # http://bugs.python.org/issue19209
self.assertNotIn('copyreg', modules, stderr) 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__": if __name__ == "__main__":
......
...@@ -42,6 +42,9 @@ Core and Builtins ...@@ -42,6 +42,9 @@ Core and Builtins
Library 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 - Issue #18582: Add 'pbkdf2_hmac' to the hashlib module. It implements PKCS#5
password-based key derivation functions with HMAC as pseudorandom function. password-based key derivation functions with HMAC as pseudorandom function.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment