位置: 编程技术 - 正文

python 性能提升的几种方法(python3.10性能)

编辑:rootadmin

推荐整理分享python 性能提升的几种方法(python3.10性能),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:提高python性能,python性能提升5倍 2022,python3.9性能提升,python性能提升多少,python性能提升,python3.9性能提升,python3.9性能提升,python性能提升5倍 2022,内容如对您有帮助,希望把文章链接给更多的朋友!

关于python 性能提升的一些方案。

一、函数调用优化(空间跨度,避免访问内存)

程序的优化核心点在于尽量减少操作跨度,包括代码执行时间上的跨度以及内存中空间跨度。

1.大数据求和,使用sum

2.小数据求和,避免使用sum

结论:大数据求和sum效率高,小数据求和直接累加效率高。

二、for循环优化之取元素(使用栈或寄存器,避免访问内存)

 应尽量避免使用索引。

相当于给每一个元素直接赋值。

三、生成器优化(查表代替运算)

四、幂运算优化(pow(x,y,z)) 

python 性能提升的几种方法(python3.10性能)

结论:pow(x,y,z)优于x**y%z.

五、除法运算优化

结论:divmod优于//和%。

六、优化算法时间复杂度  

算法的时间复杂度对程序的执行效率影响最大,在python中可以选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1)。不同场景有不同的优化方式,总的来说,一般有分治,分支定界、贪心动态规划等思想。

七、合理使用copy和deepcopy  

对于dict和list等数据结构的对象,直接赋值使用的是引用的方式。而有些情况下需要复制整个对象,这时可以使用copy包里的copy和deepcopy,这两个函数的不同之处在于deepcopy是递归复制的。效率不同:

timeit后面的-n表示运行的次数,后两行对应的是两个timeit的输出,下同。由此可见后者慢一个数量级。

关于copy的一个例子:

发生的事情是这样的,[[]]是包含一个空列表的只有一个元素的列表,所以[[]] * 3的所有三个元素都是(指向)这个空列表。修改lists的任何元素都修改这个列表。修改效率高。

八、使用dict或set查找元素

python 字典和集合都是使用hash表来实现(类似c++标准库unordered_map),查找元素的时间复杂度是O(1)。

结论:set 的内存占用量最小,dict运行时间最短。

九、合理使用(generator)和yield(节省内存)

结论:尽量使用生成器去遍历。

标签: python3.10性能

本文链接地址:https://www.jiuchutong.com/biancheng/386211.html 转载请保留说明!

上一篇:浅谈Python 对象内存占用(python的对象)

下一篇:python 实现网上商城,转账,存取款等功能的信用卡系统(python怎么在网上赚钱)

  • 进项税抵扣怎么弄
  • 抄税 报税 清卡
  • 白酒消费税税率多少钱一吨
  • 开普票需要交税多少
  • 出口退税计算公式 中华会计网校
  • 公立幼儿园保育员好进吗
  • 口罩属于什么经营类别
  • 企业按照行业分类为
  • 企业多交所得税不想退税在电子税务局如何处理
  • 处置可供出售金融资产取得的投资收益
  • 个税受雇日期以哪个日期
  • 借贷记账法试算平衡的计算公式有
  • 企业在什么情况下辞退员工不需要补偿
  • 购货发票属于外来原始凭证吗为什么
  • 零售不要发票如何报税
  • 营改增后商场进场费如何缴税?
  • 未分配利润转增股本需要缴纳企业所得税吗
  • 公司账户转账转错了能退回来吗
  • 小规模纳税人税率3%减按1%
  • 企业设备安装发票税率为多少?
  • 分公司是否可以贷款
  • 生育津贴报销流程是怎么样的要去社保局问吗
  • 上海2018房产税实施细则
  • 企业或员工获得的相关荣誉
  • 境外单位或者个人
  • 小规模印花税减免性质代码和项目名称
  • 初级备考日记
  • 购买银行承兑汇票的会计分录
  • 公司个人所得税怎么申报
  • 专项应付款转资本公积需要什么附件
  • 工程承包付款最佳方式
  • 收购农产品再销售最新税收政策
  • 企业筹建期间购置机器设备支出计入什么科目
  • linux不能联网怎么解决
  • 如何使用php
  • 企业长期借款的利息,有可能计入的科目有( )
  • 年底会计结账
  • 实收资本的会计编码
  • 第三方库引用
  • 税控减免怎么做账
  • 投资收益结转到哪个科目
  • 深度学习实战——不同方式的模型部署(CNN、Yolo)
  • ajax不刷新页面
  • 浅谈php中静态方法的应用
  • 盈余公积调减
  • 社保滞纳金计入个人账户吗
  • 农产品收购发票可以抵扣进项税额吗
  • 基于法律行为的物权变动模式包括
  • 债务豁免的账务处理
  • 印花税减免优惠政策2019
  • 小规模纳税人季度不超30万免增值税
  • 一年的房租费摊销的账务处理
  • 其他权益工具的公允价值变动计入哪里
  • 实际成本法如何核算
  • 可供出售金融资产公允价值变动
  • 企业取得的财政性资金
  • 宣传费税前扣除什么意思
  • 外贸采购的职责
  • 退回的个税手续费如何账务处理
  • win8已共享但别电脑无权限
  • ie标签页
  • linux中sed详细用法
  • win8.1 build9600
  • 电脑联想windows7
  • linux的命令行怎么打开
  • wp8.1升级10
  • VS2012中C++,#include无法打开源文件
  • 第一个闹钟
  • 深入剖析典型案例
  • shell linux命令详解
  • 黑客dos攻击是什么攻击
  • 在Html中使用Requirejs进行模块化开发实例详解
  • dos命令查看
  • android屏幕适配的五种方式
  • js实现滑动效果
  • javascript和html区别
  • 北京市地方税务局2015第10号文件
  • 加拿大移民知乎
  • 销售哪些产品需要基金从业资格证?
  • 沈阳税务机关地区编号
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设