位置: 编程技术 - 正文

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

  • 转让不动产为什么不填写预缴申报表
  • 普通发票专用发票每张最高限额
  • 公司收入是否应优先支付工资
  • 开发票 专业设计服务
  • 企业辅助生产车间
  • 职工薪酬包括哪三个方面
  • 怎么不用关税
  • 增值税附征优惠政策
  • 委托加工模具的费用计入什么科目?
  • 车间设备维修费计入制造费用吗
  • 知识产权服务项目
  • 个人承包经营所得是什么意思
  • 工业混合销售行为如何纳税?
  • 税务管理相关知识
  • 小规模增值税普通发票税率
  • 电子承兑必须对账吗
  • 会务费发票税点是多少
  • 预估入账的收入是什么
  • 金税盘年费如何做账
  • 清包工和甲供工区别在哪
  • 股权增资稀释股价会涨吗
  • 个人出租住房增值税免税政策
  • 空白发票丢失怎么写说明
  • 固定资产处置计算公式
  • 增值税退税金额怎么算
  • 企业之间的无偿借贷行为,作为借款方需要缴纳哪些税
  • 发出商品发生损失
  • 公司给员工发放的福利都要扣个税吗
  • 委托加工物资成本计入
  • windows10桌面右键没反应
  • 维保合同交印花税吗怎么交
  • 小规模纳税人确认收入时要确认税吗
  • php获取文件扩展内容
  • 政策性搬迁的会计处理
  • 保证金结息的会计分录
  • 经营性租赁与融资性租赁
  • system-coredump进程
  • 增值税的计税依据包括关税吗
  • 原始凭证的内容有哪些
  • gain_trickler_3202.exe 进程查询 gain_trickler_3202进程是什么文件
  • php循环字符串
  • 城建税教育费附加什么时候交
  • 出差餐补贴标准
  • 基于stm32的毕业设计
  • 开发票时有哪些规定呢?
  • 企业之间收的借款利息该如何交税 原文
  • 企业补提以前年度未提的坏账准备
  • 应交税费为负数要调整吗
  • mongodb性能优化方案有哪些?
  • 老板出差司机住哪
  • 以前年度亏损要调整吗
  • 资产负债表其他综合收益
  • 公司给员工买意外险需要员工出钱吗
  • 走账犯罪吗
  • 工程预收款税票
  • 长期股权投资收回账务处理
  • 公司运营成本如何计算
  • 房产公司增值税专用发票
  • 代收水电费如何入账
  • 非流动资产基金和专用基金
  • 存货总账根据什么填列
  • 苹果mac没有声音怎么办
  • solaris修改ip地址
  • win7如何查看图片的rgb
  • 如何ie8升级到10
  • 苹果mac怎么查看运行数据
  • linux磁盘的使用方式
  • windows 10 mobile--移动版
  • linux注销用户快捷键
  • cocos做游戏
  • jquery常用动画制作
  • jquery validation plugin
  • jquery 列表控件
  • javascript的理解
  • python程序讲解
  • python命令行在哪
  • 如何查询税务是否变更
  • 企业收取承包费如何缴纳增值税
  • 党员逝世可否盖党旗
  • 云开票怎么报税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设