栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

释放内存和加速python程序运行的一些经验和方法
  • 释放内存的方法
    • python的gc模块
  • CPU上加速python程序运行的方法
    • python的numba模块
    • python的threading模块

释放内存的方法 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()
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/280605.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号