mirror of
https://github.com/python/cpython.git
synced 2025-10-26 19:24:34 +00:00
bpo-43392: Optimize repeated calls to __import__() (GH-24735)
Implements a two steps check in `importlib._bootstrap._find_and_load()` to avoid locking when the module has been already imported and it's ready.
---
Using `importlib.__import__()`, after this, does show a big difference:
Before:
```
$ ./python -c 'import timeit; print(timeit.timeit("__import__(\"timeit\")", setup="from importlib import __import__"))'
15.92248619502061
```
After:
```
$ ./python -c 'import timeit; print(timeit.timeit("__import__(\"timeit\")", setup="from importlib import __import__"))'
1.206068897008663
```
---
This commit is contained in:
parent
953d27261e
commit
03648a2a91
3 changed files with 539 additions and 517 deletions
1031
Python/importlib.h
generated
1031
Python/importlib.h
generated
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue