bpo-36559: random module: optimize sha512 import (GH-12742)
The random module now prefers the lean internal _sha512 module over hashlib for seed(version=2) to optimize import time. Signed-off-by: Christian Heimes <christian@python.org>
This commit is contained in:
parent
6955d44b41
commit
d914596a67
|
@ -42,11 +42,18 @@ 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 hashlib import sha512 as _sha512
|
||||
from itertools import accumulate as _accumulate, repeat as _repeat
|
||||
from bisect import bisect as _bisect
|
||||
import os as _os
|
||||
|
||||
try:
|
||||
# hashlib is pretty heavy to load, try lean internal module first
|
||||
from _sha512 import sha512 as _sha512
|
||||
except ImportError:
|
||||
# fallback to official implementation
|
||||
from hashlib import sha512 as _sha512
|
||||
|
||||
|
||||
__all__ = ["Random","seed","random","uniform","randint","choice","sample",
|
||||
"randrange","shuffle","normalvariate","lognormvariate",
|
||||
"expovariate","vonmisesvariate","gammavariate","triangular",
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
The random module now prefers the lean internal _sha512 module over hashlib
|
||||
for seed(version=2) to optimize import time.
|
Loading…
Reference in New Issue