位置: 编程技术 - 正文

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

  • 支付给境外个人的租金
  • 小规模暂估入库的账务处理
  • 企业利润分配如何缴纳所得税
  • 生产车间维修费是制造费用还是管理费用
  • 企业所得税减免优惠政策
  • 黄金销售免税
  • 红字发票信息表是销方还是购方开
  • 事业专款支出形成的固定资产如何入账?
  • 货车挂靠企业需要交增值税吗?
  • 企业给员工发放最低生活保障
  • 资产类科目包括哪些内容
  • 二手房产增值税率
  • 非房地产开发企业土地增值税扣除项目
  • 建筑业预估成本怎么算
  • 汇兑结算方式可以分为
  • 怎么免费获取百度文库的付费文档
  • 全网最详细的破解卡密软件教程[2021首发]
  • 微软 windows11
  • 出租设备收取租金合法吗
  • consolo application
  • 苹果macOSBigSur是什么型号
  • 鼠标按键多有用吗
  • 收到银行本票的账务处理
  • 税后现金流入
  • 汇算清缴资产总额怎么算
  • php swoole框架
  • 新准则土地使用权计入固定资产还是无形资产
  • 前端不使用明文密码方案
  • mdadm命令用不了
  • vim8.2插件
  • 汽车增值税是
  • 个体户一直未申报会怎样
  • python中如何删除文件
  • dedecms51
  • 手机银行对公账户转账要手续费吗
  • 没有收入该怎么办
  • mssqlserver服务安装
  • 关于材料采购的通知
  • 核定征收和查账征收可以自己选择吗
  • 小规模纳税人月销售额超过10万怎么交税
  • 成本法的处置
  • 清卡和抄报税是什么意思
  • 购车贷款分期利率
  • 私企固定资产报废程序
  • 存在弃置费用的固定资产有哪些
  • 工会疗养费用怎么做账
  • 银行电子承兑汇票到期怎么兑现
  • 贷款转入账号
  • 短期借款计提利息计入什么科目
  • 现金日记账与现金流量表的区别
  • 冲减坏账准备的金额怎么计算
  • 生产的半成品怎么做分录
  • 建账要求
  • 结账时怎样根据日期填写
  • sql解析框架
  • 把winpe安装至系统盘
  • win7屏幕太亮了怎么调电脑
  • win10 记笔记
  • win10系统无法开机怎么修复
  • ubuntu photoshop
  • linux软件类型
  • win7速度
  • macbook编译java
  • ExtJs事件机制基本代码模型和流程解析
  • docker如何部署环境到生产
  • alt用不了
  • perl ne
  • Unity3D游戏开发pdf
  • shell 四则运算
  • unity引擎用什么模拟器
  • three.js入门教程(合集)
  • cshrc语法
  • Unity3d-四元数到矩阵的实现
  • jQuery插件是什么
  • 安卓xml存储方式
  • 如何打印个人缴税记录
  • 安徽农金如何查询开户行
  • 税务稽查立案标准的法律文件
  • 电脑有网为什么不能用
  • 收到的短信内容是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设