gpt4 book ai didi

python - 是否可以在运行脚本之前使用 numba 编译代码?

转载 作者:行者123 更新时间:2023-12-01 02:23:59 25 4
gpt4 key购买 nike

我正在尝试使用 numba 模块来加速我的脚本。但是,每次运行脚本时,numba 都会编译一些类(我使用@jitclass)。我想知道是否可以编译我知道它们不会更改的类,以避免每次运行脚本时因编译而造成一些时间损失。我在十几个类(class)中使用 numba,大约需要 1 分钟。

我已经看过使用 numba 提前编译代码,但我认为我不太理解它。 link但是,当我使用 jitclass 时,我不认为我可以使用它。

最佳答案

据我所知(numba 的当前版本:0.36),您不能将 jitclass 与提前编译 (AOT) 结合使用。

从您的问题中不清楚您的代码花费了多少编译时间。一分钟似乎有点极端,但我通常一次只使用几个 jitclass。我使用过分布在许多模块中的数十个相互依赖的函数,并且从未见过编译时间超过几秒钟。

如果您可以比较第一次与后续执行代码所需的时间,那么假设运行时是确定性的,那么这应该是编译时间。

如果进行即时编译的启动成本不切实际,您最好的选择可能是使用 Cython 编写 C-extensions 。缺点是您无法在 nopython 模式下从 numba 代码中使用它们。有许多更好的组织数据结构的方法可能会有所帮助,但如果不看代码就很难判断。

关于python - 是否可以在运行脚本之前使用 numba 编译代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47597264/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com