python - Conda env中的Python模块导入延迟
问题描述
我正在对 Conda 环境中的导入延迟进行快速实验,结果如下:
(import_test) PS C:\Users\hokira\work\src2> conda create --name import_test python=3.7
(import_test) PS C:\Users\hokira\work\src2> conda activate import_test
(import_test) PS C:\Users\hokira\work\src2> cat .\import.py
import time
start = time.time()
import matplotlib
end = time.time()
print(end - start)
(import_test) PS C:\Users\hokira\work\src2> python .\import.py
20.404196977615356
(import_test) PS C:\Users\hokira\work\src2> python .\import.py
0.560875654220581
(import_test) PS C:\Users\hokira\work\src2> python .\import.py
0.6324305534362793
有趣的是,即使使用新的解释器实例,导入延迟也比 import.py 的第二次执行显着减少。我相信 20 秒的高延迟只会在全新安装 conda 环境后发生。有谁知道这里涉及到什么样的缓存?我想了解这种行为,以优化我通过 pybind11 使用 python 的 C++ 程序,该程序目前正遭受高导入延迟的困扰。任何提示将不胜感激!
解决方案
推荐阅读
- regex - Angular 模式验证器未按预期工作
- java - 是否可以在位移位中仅移动一位?
- r - R创建共现矩阵
- node.js - 无法在 promise.all 中检索响应
- templates - 如何将模板输出写入 Golang 中的文件?
- java - CompletableFuture 在 forloop 中被创建和等待
- gradle - DefaultSourceDirectorySet 构造函数已被弃用。如何使用 ObjectFactory 服务?
- javascript - 如何使用 lodash 对嵌套数组进行排序
- javascript - 用 contenteditable 中的链接替换文本
- c++ - C++ - 按降序排序数组不起作用