python - 为什么我的带有 jit 函数的模块需要很长时间才能导入?
问题描述
我创建了一个 python 模块,我将其导入到 jupyter notebook 中以供一般使用。我在模块中有许多 jit 函数,大约 20 个。导入模块可能需要一分钟,但如果我注释掉 @njit 装饰器,模块将立即导入。我想知道是否有任何 python wizzes 知道导入时这里发生了什么。有什么办法可以缩短这个令人痛苦的漫长进口时间?
解决方案
所以我发现删除我的函数签名显着加快了导入时间。但是,这些函数的第一次执行速度要慢得多。如果函数有签名,那么函数会在 import编译,这是因为输入和返回类型是已知的。如果没有签名,则函数在执行时编译,因为只有在此时编译器才知道输入和返回类型。
推荐阅读
- mysql - 选择特定数据 SQL
- python - 预测即将到来的词的词性标签
- java - (Java)计算一个句子中的字母?
- reactjs - 如何在 React Router 4 中路由到不同的 BrowserRouter 组件?
- rust - 为什么使用不安全代码的 rustdoc 测试失败但集成测试中的相同代码通过?
- redirect - Ajax 中的 Cors 满足 302 重定向
- java - Firebase 查询不显示所有数据
- angular - 当用户使用材质对话框注册时以角度重新加载特定组件
- linux - ./ 点斜线无法执行 Shell 脚本
- ios - swift tableview.scrollToRow() 冻结 ui