Numba缓存

启用numba函数的缓存以减少冷启动时间

statsforecast大量使用了numba来加速几个关键功能,这些功能用于估计模型参数。然而,这也带来了成本,即函数需要在首次运行时被JIT编译,这可能是比较昂贵的。一旦函数被JIT编译,后续的调用速度将显著提升。一个问题是,这种编译是按照会话保存的(默认情况下)。

为了减轻编译的开销,numba提供了将编译后的函数代码缓存到文件的选项,这样可以在不同会话之间重用,甚至可以复制到具有相同CPU特性的不同机器上(更多信息)。

要利用缓存功能,您可以设置NIXTLA_NUMBA_CACHE环境变量(例如NIXTLA_NUMBA_CACHE=1),这将为所有函数启用缓存。默认情况下,缓存保存到__pycache__目录,但您可以通过NUMBA_CACHE_DIR环境变量覆盖此设置,将其保存到其他路径(例如NUMBA_CACHE_DIR=numba_cache),您可以在文档中找到更多信息。

如果您希望在所有会话中都启用此功能,我们建议将export NIXTLA_NUMBA_CACHE=1添加到您的配置文件中,例如.bashrc.zshrc等。

Give us a ⭐ on Github