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