首页 > 解决方案 > 为什么我的带有 jit 函数的模块需要很长时间才能导入?

问题描述

我创建了一个 python 模块,我将其导入到 jupyter notebook 中以供一般使用。我在模块中有许多 jit 函数,大约 20 个。导入模块可能需要一分钟,但如果我注释掉 @njit 装饰器,模块将立即导入。我想知道是否有任何 python wizzes 知道导入时这里发生了什么。有什么办法可以缩短这个令人痛苦的漫长进口时间?

标签: pythonnumba

解决方案


所以我发现删除我的函数签名显着加快了导入时间。但是,这些函数的第一次执行速度要慢得多。如果函数有签名,那么函数会在 import编译,这是因为输入和返回类型是已知的。如果没有签名,则函数在执行时编译,因为只有在此时编译器才知道输入和返回类型。


推荐阅读