用jit部分python函数效率过低的问题
numba下载方式
pip install numba
原理:
将python的代码动态编译成机械代码,绕开python解释器直接用cpu处理
使用方法也及其简单,在定义的函数前面加上
@numba.jit
用调整jit属性的方法进一步优化
cache=True
(可将编译后的属性缓存到磁盘中)
在 Numba 中使用多线程可以通过
@numba.jit(parallel=True)
该装饰器可以解放gil锁:发挥多核性能
如果你需要更细粒度的线程控制,可以使用 Python 的 threading 模块来手动创建和管理线程。不过需要注意的是,Numba 的 @jit 或 @njit 装饰器主要用于加速数值计算,而 threading 模块主要用于并发任务的执行。两者可以结合使用,但需要谨慎处理线程安全和数据共享问题。需要注意的是,只有在没有任何python的动态特性时才能使用。