summaryrefslogtreecommitdiffstats
path: root/Python/pylifecycle.c
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2016-08-02 19:51:21 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2016-08-02 19:51:21 (GMT)
commit133138a284be1985ebd9ec9014f1306b9a425d98 (patch)
tree15d5ad35ad76c65f88cb739100ff152194e96ef8 /Python/pylifecycle.c
parentcde03fa0381fcb7f7d3ba0dff4e784eade1f3031 (diff)
downloadcpython-133138a284be1985ebd9ec9014f1306b9a425d98.zip
cpython-133138a284be1985ebd9ec9014f1306b9a425d98.tar.gz
cpython-133138a284be1985ebd9ec9014f1306b9a425d98.tar.bz2
Issue #22557: Now importing already imported modules is up to 2.5 times faster.
Diffstat (limited to 'Python/pylifecycle.c')
-rw-r--r--Python/pylifecycle.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index 2d2dcba..dc85551 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
@@ -254,6 +254,11 @@ import_init(PyInterpreterState *interp, PyObject *sysmod)
interp->importlib = importlib;
Py_INCREF(interp->importlib);
+ interp->import_func = PyDict_GetItemString(interp->builtins, "__import__");
+ if (interp->import_func == NULL)
+ Py_FatalError("Py_Initialize: __import__ not found");
+ Py_INCREF(interp->import_func);
+
/* Import the _imp module */
impmod = PyInit_imp();
if (impmod == NULL) {