位置: 编程技术 - 正文

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

  • 小规模纳税人有增值税吗
  • 生产企业出口退税流程
  • 支付证明单算附件吗
  • 应付利润借方有余额怎么处理
  • 房地产企业回迁房增值税
  • 销货清单是否需盖章
  • 应收账款占用资金的应计利息公式
  • 劳务费税后算税前公式
  • 安置残疾人就业税收优惠政策
  • 提取法定盈余公积金会计分录
  • 企业助学捐款分录怎么写
  • 去年多计提的生育津贴
  • 工业用地厂房要交契税吗
  • 企业租车费可以抵扣吗
  • 2020水利基金
  • 油卡充值属于什么行业
  • 增值税纳税义务人
  • 合并报表内部往来核对不上
  • 进项税大于销项税是不是不用交税了
  • 简易计税视同销售如何处理?
  • 融资租赁纳税人是指
  • 以前年度多计提了税金怎么办
  • 事业单位财政直接支付了费用忘记入帐
  • 上月材料入库会计分录
  • 收到对方给的发票怎么做账
  • 个人所得税和企业所得税都要交吗
  • 咨询服务费需要交印花税吗
  • 树上有只松鼠简笔画
  • win11不能用u盘
  • 收入的特征包括什么
  • 像指纹一样的图形
  • 免抵退税帐务处理
  • thinkphp5.0框架
  • ant desgin-vue
  • 科技推广和应用服务业属于第几产业
  • vue脚手架安装命令
  • http命令
  • 交易性金融资产属于流动资产
  • 售后租回交易的第二年利息怎么算
  • 报销还款人民币是什么意思
  • 印花税征税范围及税率
  • 财政专户资金支出
  • 土地免缴土地使用税
  • 拍卖行业收取手续费多少
  • 提取安全生产费用是什么意思
  • 农业保险赔付率数据查询
  • 润滑油开具增值税专用发票
  • 公司购买的财产保险要交印花税吗
  • 更正会计凭证摘要怎么写?
  • 冲上月暂估入账的 会计分录
  • 包含个人社保的保险
  • 增值税相关的问题
  • 其他应收款核算什么
  • 发现以前的账做错了
  • 利用phpmyadmin写shell的方法
  • win7访问共享文件
  • mac电脑虚拟机怎么安装
  • mac怎么移动鼠标
  • win8在哪里卸载软件
  • 应用商店如何更新软件
  • windows8.1默认壁纸
  • centos8 systemd
  • win7进运行
  • macos技巧
  • linux防火墙放行
  • win10文件资源
  • JavaScript数组去重
  • 使用jquery操作dom
  • 根据两点的经纬度计算航向角
  • android模块开发
  • Cocos2dx3.2 Crazy Tetris 游戏输入(键盘事件,重力事件,触摸屏事件)
  • 图形学题目
  • javascript的
  • JavaScript的函数中只能写一条代码语句
  • jquery通过属性值获取元素
  • js方法不执行
  • 一般纳税人开劳务费税率是多少2023
  • 陕西国税电子税务局app
  • 税务局三方协议变更
  • 郑州地方税务局网站官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设