微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 importlib.machinery 而不是使用 setuptools 安装 .so 文件然后导入时体验变慢

如何解决使用 importlib.machinery 而不是使用 setuptools 安装 .so 文件然后导入时体验变慢

我无法理解这里发生的事情。 (案例1)最初,我使用setuptools安装了pybind11生成.so文件,然后在python中进行了正常导入。 (案例 2)现在,我直接将 importlib 指向 .so 文件位置并动态创建模块。 但是,在完成所有设置后使用模块时,案例 1 的运行速度比案例 2 快得多。 我在案例 2 中的做法是:

import importlib
modname,filename = 'pacakge',"path/to/package.so"
loader = importlib.machinery.ExtensionFileLoader(modname,filename)
spec = importlib.machinery.ModuleSpec(
    name = modname,loader = loader,origin = filename,)
module_going_to_use = loader.create_module(spec)

# do something with module_going_to_use 
# (and this part is much slower than Case 1).

对可能导致这种情况的原因有什么建议吗?

提前致谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。