2021-09-30释放内存和加速python程序运行的一些经验和方法

释放内存的方法

python的gc模块

有些时候在运行python程序的时候,往往会因为变量太多而造成内存警告,导致程序crash,为了解决这个问题,可以使用gc模块删除每一步程序运行之后不必要的变量,达到释放内存的目的。
具体使用方法如下:

import gc
#.....产生了一堆变量 a,b,c......
del a
gc.collect()
#.....完成......

CPU上加速python程序运行的方法

在运行python程序的时候,因为过多的循环而导致程序运行缓慢,影响数据分析速度,当然在GPU上面运行程序会显著提升速度,但是因为本人还在学习中,具体还没实现过,所以先在此总结一下在CPU上面加速python程序运行的方法,如有不当之处,还请各位不吝赐教。

python的numba模块

numba模块支持numpy,而不支持list的数据类型,所以如果出现list类型会出现warning和error,这一点需要注意。
使用方法如下:

from numba import jit
@jit
def RP(x,y):  
    delt=np.std(np.abs(x-y))
    e=0.15*delt
    h=np.zeros([len(x),len(y)])
    for i in range(len(x)):
        for j in range(i,len(y)):
            h[i,j]=1 if (e-np.abs(x[i]-y[j]))>=0 else 0
            h[j,i]=h[i,j]
    return h

python的threading模块

threading的使用方法如下:

import threading
#定义一个方法和函数
def fun():
......
    return **
#t1和t2是两个不同的任务,可以是同一个函数,输入不同,也可以是不同的函数
t1=threading.Thread(target=fun())
t2=threading.Thread(target=fun())
t1.start()
t2.start()

猜你喜欢

转载自blog.csdn.net/LJ1120142576/article/details/120565760