位置: 编程技术 - 正文

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

  • 软件产品即征即退条件
  • 房地产耕地占用税实施细则
  • 委托加工业务中,委托方是纳税义务人
  • 取得研发样品收入
  • 股东借款转实收资本需要什么原始凭证
  • 资产负债表从哪里打出来的
  • 蓝字发票有认证的吗
  • 实收资本增加的原因
  • 固定资产账面金额什么意思
  • 广告制作赚钱吗?
  • 利润表研发费用包括哪些内容
  • 境外机构可以开通b股账户
  • 员工宿舍免征房产税
  • 捐赠出的资产如何处理
  • 付佣金给客户怎么做分录?
  • 应收账款资产减值损失转回和核销的区别
  • 进口环节关税税率
  • 应付职工薪酬月末结转到哪里
  • 一般纳税人注销公司麻烦吗
  • 境外所得纳税
  • 税收预测表模板
  • 企业为员工购买团体医疗险可以全额税前扣除
  • 城建税计税依据及税率
  • 一般纳税人有进项无销项
  • 递延所得税怎么产生
  • 收工资扣款账务处理流程
  • 职工聚餐费可以列入职工福利费吗
  • 购买国外技术需要缴纳什么税
  • 无形资产摊销是什么科目
  • 财务收入怎么写
  • ubuntu18更换为阿里源
  • AriaNg Native 1.2.4 Aria2图形界面下载工具 中文免费版 32/64位
  • 存货资产减值损益怎么算
  • 今天春节是什么生肖
  • 销售发票重复开,库存商品怎么处理?
  • 解决本地浏览器的方法
  • word下划线怎么延长
  • 卡齐兰加国家公园地理位置
  • 金蝶科目明细表
  • flex布局实现垂直居中
  • 珠宝行业会计核算内容
  • vgremove命令
  • sybaris插件包
  • 个体户发票没有开户行和账号行吗
  • 纳税申报和账务不一致
  • mongodb分页查询count太慢
  • 海关票怎么做账
  • 损益类科目都是当期损益吗
  • 税金及附加需不需要计提
  • 固定资产清理的含义
  • 收到费用发票没有付款的会计分录
  • 购销合同印花税按70%
  • 进口关税免征
  • 赠送商品需要开发票吗
  • 对公账户收到钱有提示吗
  • 收到增值税发票后该如何处理啊?
  • 生产配合销售还是销售配合生产
  • 发票可以冲销几次
  • 安全生产费的会计分录
  • my sql命令
  • Windows Server 2003环境更改Boot.ini文件
  • Windows server 2008设置远程桌面连接的详细步骤(图文教程)
  • 如何安装ubuntu20.04
  • win8补丁官网
  • linux批量处理文件
  • Win10 Mobile 10586.29重要更新 可以玩wp7中的游戏
  • linux源于
  • windows8.1升级到windows10
  • 系统右键菜单
  • bat脚本判断
  • opengl extension
  • javascript事件委托的用法及其好处简析
  • shell sed 空格
  • 如何用jquery
  • 如何用jquery
  • python图片验证码输入错误不能点登陆
  • 一般纳税人开劳务费税率是多少2023
  • 工会经费收支办法2022新政策
  • 徐州交社保有户口限制吗
  • 新疆塔城靠近俄罗斯吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设