python运行加速的方法是什么
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,本篇内容主要讲解"python运行加速的方法是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"python运行加速的方法是什么"吧!一、总结1、使用py
千家信息网最后更新 2025年02月23日python运行加速的方法是什么
本篇内容主要讲解"python运行加速的方法是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"python运行加速的方法是什么"吧!
一、总结
1、使用pypy
2、减少函数化调用
3、减少文件的打开即with的调用,将这一调用放在for循环前面,然后传递至后面需要用到的地方
4、if函数判断条件多的尽量在前面
全面加速(pypy)
二、全面加速(pypy)
将python换为pypy,在纯python代码下,pypy的兼容性就不影响使用了,因为一些纯python的代码常常会用pypy进行一下加速
测试代码,for循环10000000次
start = time.time()for i in range(10000000): print(i,end="")end = time.time()print(f"耗费时间{end-start}秒>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")
pypy的耗时为:
而python耗时为
大致三倍,但是循环越多估计越快,据说有6倍左右
二、减少文件的打开即with的调用
原代码的with在调用函数内,即每次调用函数都要打开并关闭文件,造成大量耗时
def BMES(word,tag): with open(r"J:PyCharm项目学习进行中NLP教程NLP教程数据集词性标注ature2ner.txt","a+",encoding="utf-8")as f_: if len(word) == 1: """单字""" f_.write(word + " " + f"S-{tag.upper()}" + "") else: """多字""" for index, word_ in enumerate(word): if index == 0: f_.write(word_ + " " + f"B-{tag.upper()}" + "") elif 0 < index < len(word) - 1: f_.write(word_ + " " + f"M-{tag.upper()}" + "") else: f_.write(word_ + " " + f"E-{tag.upper()}" + "")#后续在多个if-elif-else中调用
耗时为
tqdm预估时间在15~25个小时左右跳动
将with放在循环前面
如
将with的内容作为f_传递进来
后的耗时为:
测试如下:
import os, warnings,time,tqdmdef txt(word): with open("ceshi.txt","a+",encoding="utf-8")as f: if len(str(word))<=2: word+=100 f.write(str(word)+"") elif 2>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")
耗时结果为:
将文件的打开即with的调用放在外面
import os, warnings,time,tqdmdef txt(f,word): if len(str(word))<=2: word+=100 f.write(str(word)+"") elif 2>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")
耗时为
结论:快了119倍,而实际加速远远大于这个倍数
三、if判断靠前
如:
if tag in ["nts", "nto", "ntc", "ntcb", "ntcf", "ntch", "nth", "ntu", "nt"]: BMES(f_,i2, tag="ORG") elif tag in ["nb", "nba", "nbc", "nbp", "nf", "nm", "nmc", "nhm", "nh"]: BMES(f_,i2, tag="OBJ") elif tag in ["nnd", "nnt", "nn"]: BMES(f_,i2, tag="JOB") elif tag in ["nr", "nrf"]: BMES(f_,i2, tag="PER") elif tag in ["t"]: BMES(f_,i2, tag="TIME") elif tag in ["ns", "nsf"]: BMES(f_,i2, tag="LOC") else: for i3 in list(i2): f_.write(i3 + " " + f"O" + "")
满足条件的可以先跳出判断
到此,相信大家对"python运行加速的方法是什么"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
方法
代码
函数
文件
循环
运行
内容
学习
实际
教程
时间
条件
utf-8
测试
实用
更深
倍数
兴趣
兼容性
单字
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
世界上互联网科技最先进
access数据库用户名
网络安全六级作文
360网络安全运维
谁运营谁负责网络安全
腾讯服务器如何调取
网络安全考研院校
北京软件开发公司保险
网络安全简要
速达提示数据库的日志已满
国家网络安全学院华为奖学金
海外vpn服务器搭建
电力开展网络安全教育
河南省服务器托管企业服务器
咸宁专业智慧旅游软件开发
栖霞区网络技术服务质量推荐
嵌入式软件开发工程师真实现状
学java还是网络安全
软件开发和自动化测试哪个好
加速筑牢网络安全屏障
软件开发最新算法
借钱快软件开发
直接使用wps创建数据库
服务器断电了 数据库损坏
午夜猎魂你被提出了服务器
计算机网络技术大专生就业
LED贴片机软件开发厂家
京东购物怎样用到数据库
如何让数据库无法查看
服务器管理平台工具