mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Issue #19218: Rename collections.abc to _collections_abc in order to speed up interpreter start
This commit is contained in:
parent
ad9c9bb5a9
commit
f1dc3ee16d
7 changed files with 14 additions and 6 deletions
|
@ -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',
|
||||||
|
|
||||||
# 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):
|
||||||
|
|
||||||
|
|
||||||
# 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
|
||||||
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):
|
||||||
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
|
||||||
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.
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue