位置: 编程技术 - 正文

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

  • 注册资本没有到位可以注销吗
  • 机械租赁税率是10个点还是9个点
  • 扣非净利润为什么比净利润低
  • 分期付款进项税额怎么算
  • 综合所得预扣预缴表在哪里查
  • 做实验用的东西哪里可以买到
  • 弥补以前年度亏损会计分录
  • 叉车维修费计什么费用
  • 提供劳务收取现金会计分录
  • 2018年收入等级划分图
  • 营改增的范围包括
  • 上月未抵扣完的进项税本月可以抵扣吗
  • 增值税抵扣主要用于哪些税收?
  • 退税上传,申报文件上传失败
  • 预付油卡怎么入账
  • 房租收入如何结转成本
  • 代理记账公司收费标准
  • win10右键显示设置打不开怎么办
  • 利息股息红利所得属于综合所得吗
  • Win10 20H2/2004 Beta Build 19042.789累积更新补丁KB4598291正式推送
  • 公司收到预付款怎么用处去
  • 公司为员工缴纳社保的基数怎么确定
  • 财务专用章是干啥的
  • laravel pay
  • yolov5 ios
  • php reference
  • 收到采购专用发票
  • web前端视频教程全套
  • 围剿视频
  • opencv 方框识别
  • vue3 响应式ui框架
  • vmware vmtools
  • 手工账结转
  • python统计出现次数并排序
  • 循环语句例题及解析
  • 没有盈利的公司
  • 所有者权益包括哪些会计科目
  • 以房租入股公司怎么交税
  • 小企业会计准则2023电子版
  • 本年利润亏损还需要交所得税吗
  • 企业申报纳税都交什么税
  • 如何查询工商局每天入驻情况
  • 稳岗补贴支付范围
  • 合伙企业分红怎么做账
  • 股权转让后再转让
  • 一般纳税人车辆租赁费的税率是多少
  • 以前的房产证现在能过户吗
  • 银行的结息怎么做会计分录
  • 建账的基本原则包括
  • 索引的基本原则
  • winxp系统纯净版
  • 64位Vista、Windows7系统IIS连接数据库故障完美解决
  • centos7.6ssh
  • centos7添加ip地址
  • bootcamp您的磁盘未能分区
  • .exe是什么软件
  • 苹果电脑装win7键盘无法使用
  • windows适配器未连接
  • windows8停止
  • win7关闭uac是什么意思
  • 如何删除win8系统
  • html中title的作用
  • c# opengl 3d
  • linux流量监测工具
  • 表格指定高度是多少
  • 批处理rd
  • android studio警告
  • js正则 \w
  • jsoni
  • node.js 10实战
  • 浅谈建筑地基基础加固施工技术亲
  • jquery validator
  • javascript面向对象吗
  • python利用range产生列表
  • javascript入门基础
  • android缓存清理
  • 工商局税收
  • 税务投诉撤销申诉
  • 江西国家税务局官网
  • app平台怎么投诉商家
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设