位置: 编程技术 - 正文

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

  • 固定资产清理应该在年报中怎么填写
  • 税务师继续教育怎么做
  • 老项目增值税简易计税
  • 企业筹建期间契税账务处理
  • 年金的扣费标准
  • 财务金额表格
  • 车票抵扣进项税申报在哪一栏
  • 发票入账时间规定是多久
  • 二房东转租需要备案吗
  • 行政性罚款可以扣除吗
  • 销售额负数 如何填报报表
  • 贴现利息的计算题
  • 制造费用可以抵进项税吗
  • 发票抵税是指哪些内容
  • 对公账户打钱给私人账户,谁交税呢
  • 餐饮增值税发票税率
  • 交股权印花税需要什么材料
  • 个体工商户季度不超过30万免增值税吗
  • 代收代付业务是什么意思
  • 计提工资怎么做账务处理
  • 中小五金企业如何进行成本核算
  • 土地契税税率怎么计算
  • 预付工程款的会计科目
  • 烟丝消费税组成计税价格
  • 设置戴尔笔记本锁屏时间
  • mac怎么打出@符号
  • u盘的重装系统
  • ubuntu系统u盘安装
  • php输出当月日历
  • 公司投资股票如何做账
  • PHP:session_get_cookie_params()的用法_Session函数
  • PHP:curl_share_init()的用法_cURL函数
  • 工程结算和决算一样吗
  • 税款返还的会计处理方法
  • PHP:imagecolorresolvealpha()的用法_GD库图像处理函数
  • 一次补发工资怎么算
  • 环绕着山的是什么歌
  • 营改增后小规模纳税人标准
  • 进出口公司如何做账
  • 银行开户费用怎么做账
  • Notojima岛附近的牡蛎养殖场,日本石川县 (© divedog/Shutterstock)
  • 机器学习:基于逻辑回归对优惠券使用情况预测分析
  • node实战
  • 变量与数据
  • 帝国cms如何使用
  • 如何修改php网页内容
  • 加计抵减四项服务是什么?
  • 银行账户维护费怎么做账
  • 普票需要填写全额发票吗
  • 为客户购买的机票怎么入账
  • 饭店房屋的租赁合同范本
  • 承租人违约押金怎么办
  • 买到库存货 退货
  • 委托加工物资核算
  • 主营业务成本暂估怎么算
  • 金融存款利率
  • 收到商业承兑汇票的会计分录
  • 普通发票的开具办法是?
  • 企业对外购和自己的区别
  • 办理营业执照需要什么条件
  • 营业收入和主营业务收入分别在哪看
  • win8 开始
  • ntfs权限设置步骤
  • win8怎么看windows
  • apache安装步骤
  • 无法登录所请求的数据库 用户sa登录失败
  • 电脑ip地址设置在哪里
  • win8远程桌面连接设置
  • 如何在linux中安装软件
  • 联想 恢复
  • bootstraptable教程
  • python语言中
  • 杀掉进程windows
  • vue中的组件通信
  • jquery 设置checked
  • socket客户端发送数据
  • python res.
  • 青岛网上办税服务厅登录
  • 姓名章加不加印字
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设