位置: 编程技术 - 正文

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怎么在网上赚钱)

  • 车船税规定怎么缴纳
  • 经营所得汇算在哪里查
  • 中国注册税务师协会法律法规库
  • 收到货款发货了没开发票怎么入账
  • 投资性公司怎么判断?
  • 住宿发票没有天数
  • 净现值为零时的收益率
  • 名义股东转让股份侵权
  • 应收账款坏账损失专项报告
  • 个人怎么捐赠物资
  • 什么是税收筹划风险?税收筹划风险的种类有哪些?
  • 企业收到供货单位提供的材料,如其价款大于
  • 没有运输经营范围能不能开运输发票
  • 补缴企业所得税滞纳金账务处理
  • 个人所得税申报错误如何更正申报
  • 餐饮发票增值税税率是多少
  • 活动板房增值税税率
  • 购入的汽车怎么入账
  • 代开专票交的城建税怎么申报附加税
  • 库存商品结转成本
  • 可转换债券具有债权和股权双重特征
  • 收到其他公司的投资款计入什么科目
  • 暂估入库入库单范本
  • 物业公司成本结转方案
  • 如何用注册表
  • 电脑店u盘装系统步骤
  • Win10 20H2 LSASS.exe自动重启故障已得到修复
  • 电脑dat文件怎么打开
  • 营改增后房租收入怎么交税
  • macOSCatalina10.15.5Beta4值得升级吗 macOSCatalina10.15.5Beta4更新了什么
  • 转让房屋土地增值税如何计算
  • 购买加油卡如何开发票
  • 哪些房地产项目是国企
  • php 调试工具
  • 不符合政策和条件的成语
  • vuecli3创建项目的过程
  • 支票沾水
  • 新手为什么要买二手车
  • 公司注销开户行需要注销吗
  • 门锁开票的服务名称编码
  • python输入函数帮助
  • 阴影等级是什么
  • 在mysql中创建数据库和表作业
  • 织梦系统
  • 短期借款利息是多少
  • 处置可供出售金融资产原先进入公允价值变动损益
  • 去年留抵税额会计分录
  • 应付账款的入账时间为
  • 外贸会计的工作内容
  • 同一控制下企业合并
  • 发票抬头是个人的可以报销吗
  • 外币业务的会计分录
  • 预付账款做错可以红冲之前的凭证重新做吗
  • 为什么股票配资的都在境外交易
  • 以前年度损益调整
  • 电子发票是否是原件发票
  • 融资租赁公司收费标准
  • 事业单位对公账户和零余额账户一样么
  • 建筑业营改增的主要内容
  • 商品过期怎么做分录
  • sqlserver 查询锁
  • mysql表字段设置默认值
  • sql server触发器实验
  • sql server in()
  • windows server特点
  • Vista 新命令收集整理完整版
  • linux calloc
  • SsAAD.exe - SsAAD是什么进程
  • mac无线打印
  • windows7如何启动任务管理器
  • 日常办公常用的批处理脚本
  • nodejs获取当前路径
  • android/bitmap.h
  • 3种不同的播种方法
  • android 按键
  • springmvc接收json需要配
  • 退车辆购置税流程怎么操作
  • 赣州买二手房限购吗
  • 国家税务总局河北地税局
  • 地方税务局是事业单位吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设