位置: 编程技术 - 正文

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

  • 税前利润税率
  • 跨区域开票流程怎么走
  • 租办公室自己装修可以拆走吗
  • 资本公积和盈余公积怎么提取
  • 一年房租正常摊销多少
  • 土地款发票是否可以抵扣
  • 电商相对于传统企业有哪些特点?
  • 月报和季度报的区别
  • 本月进项税大于销项税有留底,如何做会计分录
  • 调整上月的生产成本
  • 土地使用权分割转让依据
  • 房地产企业增值税税率
  • 跨年确认收入税务风险
  • 怎么设置存货科目
  • 费用跨年入账所得怎么算
  • 不动产增值税怎么算
  • 提前报废的固定资产怎么处理
  • 营改增后增值税专用发票抵扣规定
  • 统借统还的所得税政策
  • 社保行业费率是什么
  • 电子发票没有发票号码是怎么回事
  • 研发费水电费比例怎么分配
  • 跨年暂估成本的账务处理冲回
  • 出售已使用五年的住房有税收优惠吗?
  • 公司的资产负债表包括
  • 1697510816
  • 设备计提折旧的方法
  • 明股实债和明债实股
  • 个人劳务费几个点
  • 不发工资先去劳动局投诉还是仲裁
  • 在Linux系统中安装Samba服务器
  • video标签自动播放可以带声音吗
  • php -i
  • 深入解析wordpress
  • 物业管理企业会计核算的特点如何?
  • 资产评估中折现怎么算
  • 关联方的四种认证方式
  • php根据日期显示星期几
  • 新一代状态管理工具 -- Pinia 上手指南
  • vue中过滤器有什么作用及详解
  • 生产设备改良支出需要结转到本年利润吗
  • matlab进行图像处理
  • cvpr best
  • pdf优化器在哪里
  • 来料加工成品如何入库
  • 银行的抵债资产是否需要缴纳房产税
  • 残疾人保证金的滞纳金怎么计算
  • 转出未交增值税借方余额表示什么
  • 终止合约要赔钱吗
  • 出租车手撕票可以税前扣除吗
  • 增值税纳税申报类型怎么填
  • 含税与不含税的计算公式
  • mysql8绿色版安装
  • 物业费分解
  • 销售退回会计分录
  • 企业汇算清缴中的职工薪酬指的是管理费用中的吗
  • 防伪税控服务费计入什么科目
  • 盈利是不是利润的意思
  • 新成立公司申报个税流程
  • 累计扣税标准2021标准
  • 企业建账要求
  • spring-jdbc.jar
  • 酷炫技术:使用ssh登录管理windows系统
  • 在幻灯片母版中
  • 怎么改windowsxp版本
  • linux chfn命令
  • os x 10.10 yosemite自动纠正怎么关?os x yosemite自动纠正功能关闭教程
  • win7大小写提示图标
  • 磁盘限制
  • win7 24小时制
  • 轻松搞定琥珀甲教程
  • Android:ValueAnimator的使用举例
  • js给表格添加一行
  • cocos2dx android游戏防破解总结
  • opengl gpu编程
  • cmd pushd
  • 在centos上安装pycharm
  • 陕西省国家税务总局班子成员
  • 安庆税务局窗口电话
  • 网上怎么申报地税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设