位置: 编程技术 - 正文

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

  • 如何理解增值税中性特点
  • 税务安全组件初审流程
  • 印花税计提怎么计提
  • 金税四期影响企业贷款吗
  • 银企对账如何操作
  • 国内旅客运输票据
  • 资本公积和实收资本是什么意思
  • 流动负债和长期负债的比例多少合适
  • 所得税申报更正申报怎么报?
  • 个人缴纳印花税减半吗?
  • 折旧完的固定资产出售
  • 出口货物如果没收怎么办
  • 在建工程进项税额
  • 工会账户销户划拨流程
  • 劳服企业可以安差额税上税吗?
  • 国税注销地税没注销怎么办
  • 贷款利息可以抵税吗
  • 没有进项发票怎么出口报关
  • 红字发票开具只能针对一份发票 不可以只冲红其中一部分吗?
  • 退休职工的医疗保险怎么发放
  • 长期零申报有什么影响
  • 外地预缴工会其他经费计入什么科目?
  • 发票验证查询系统官网入口
  • 主管会计的具体工作
  • 净资产利润比率计算公式
  • 华为mate50pro怎么读
  • 摇篮山圣克莱尔湖国家公园
  • 职工住院的护理费标准
  • 增值税三流合一涉及子公司
  • 闲置房的相关政策
  • nvm使用教程
  • php gd库
  • 金融企业计提贷款利率
  • 适用加计抵减政策需要提交什么资料
  • 合伙企业利润分配首要依据
  • 预提的奖金能不能提前申报个税
  • 单目深度估计算法
  • openai发布企业版
  • 企业所得税如何计算应纳税所得额
  • 集团公司对子公司的内部审计
  • phpcms安装无法连接数据库服务器
  • 高新企业的所得税
  • 厂房推倒重建和改扩建的税务处理
  • css文件代码示例
  • 织梦设置的关键词看不到
  • 应付账款贷方余额怎么处理
  • sql2019远程连接
  • 物业公司一般纳税人简易征收
  • 委托加工物资验收时发生的成本怎么处理
  • 增值税留抵税额借贷方向
  • 自用房地产转换为成本模式计量的投资性房地产
  • 职工工资加计扣除
  • 进项税额转出是什么科目
  • 施工总包能分包土方吗
  • 库存现金管理是财务分析的吗
  • 持有至到期投资是债权投资吗
  • 无偿租借
  • 业务招待费管理草案探讨
  • 住宿费报账怎么写
  • 连接mysql数据的四要素
  • 一个绝招 组合的成语
  • 虚拟机中的centos怎么联网
  • winxp和win7双系统安装
  • 微软正式推送windows11
  • linux 命令
  • windows10点击任务栏没有反应
  • mac与windows的使用区别
  • python中scatter函数
  • unity3d功能
  • 用什么命令查看linux启动信息