24式加速你的Python(小结)
作者:梁云1991 发布时间:2023-09-25 10:25:24
一,分析代码运行时间
第1式,测算代码运行时间
平凡方法
快捷方法(jupyter环境)
第2式,测算代码多次运行平均时间
平凡方法
快捷方法(jupyter环境)
第3式,按调用函数分析代码运行时间
平凡方法
快捷方法(jupyter环境)
第4式,按行分析代码运行时间
平凡方法
快捷方法(jupyter环境)
二,加速你的查找
第5式,用set而非list进行查找
低速方法
高速方法
第6式,用dict而非两个list进行匹配查找
低速方法
高速方法
三,加速你的循环
第7式,优先使用for循环而不是while循环
低速方法
高速方法
第8式,在循环体中避免重复计算
低速方法
高速方法
四,加速你的函数
第9式,用循环机制代替递归函数
低速方法
高速方法
第10式,用缓存机制加速递归函数
低速方法
高速方法
第11式,用numba加速Python函数
低速方法
高速方法
五,使用标准库函数进行加速
第12式,使用collections.Counter加速计数
低速方法
高速方法
第13式,使用collections.ChainMap加速字典合并
低速方法
高速方法
六,使用高阶函数进行加速
第14式,使用map代替推导式进行加速
低速方法
高速方法
第15式,使用filter代替推导式进行加速
低速方法
高速方法
七,使用numpy向量化进行加速
第16式,使用np.array代替list
低速方法
高速方法
第17式,使用np.ufunc代替math.func
低速方法
高速方法
第18式,使用np.where代替if
低速方法
高速方法
八,加速你的Pandas
第19式,使用csv文件读写代替excel文件读写
低速方法
高速方法
第20式,使用pandas多进程工具pandarallel
低速方法
高速方法
九,使用Dask进行加速
第21式,使用dask加速dataframe
低速方法
高速方法
第22式,使用dask.delayed进行加速
低速方法
高速方法
十,应用多线程多进程加速
第23式,应用多线程加速IO密集型任务
低速方法
高速方法
第24式,应用多进程加速CPU密集型任务
低速方法
高速方法
来源:https://mp.weixin.qq.com/s/aRlnBM-FAb458o1HTFP6PA
猜你喜欢
- 语法: ROW_NUMBER() OVER([ <partition_by_clause>] <order_by_clau
- 数组使用简介原文地址:30 Days of Mootools 1.2 Tutorials - Day 3 - Intro to Using
- JavaScript是一门OOP,而有些人说,JavaScript是基于对象的。1) 如何创建对象:1. 使用constructor,例如:
- 临近下班的时候,突然想到统计热门文章的问题。以前我所知道的热门文章统计,基本有这么几种:按点击数排序 该方法最大的问题在于热门的文章会越来越
- 可以采用exec方法注意:使exec不能返回一些变量的值,而且当前的变量值在exec的语句里无效。declare @tempStr
- 内容摘要: Request和Response这两个对象是ASP所提供的内置对象中最常用的两个。在浏览器(或其他用户代理)和Web服
- 以前经常吃公司旁边的食堂,人多,排队。夏天的时候,我们总要找一个靠窗口通风好的地方坐,没有空调只有风扇,风扇很多,开关都集中在一个地方,应该
- 一、读者指引 读者指引帮助你掌握本文的梗概。以免你看了大半才明白这编文章不适合你,给你造成视觉污染。如果你正在用ASP+XML写一些程序,或
- 在风起云涌的互联网浪潮中,产品迭代的速度越来越快。随着用户需求的激增,也不断带来了对设计师能力要求的提高。初入交互设计领域几年来,明显发现可
- 在制作网页的过程中,自适应问题是经常遇到,而又最让人头疼的,看了好多种解决的方法,但是都不是万能的。今天遇到这个问题,实在让我挠头,借鉴了
- 在一些情况下,MySQL可以直接使用索引来满足一个 ORDER BY 或 GROUP BY 子句而无需做额外的排序。尽管 ORDER BY
- 做项目的时候,一位同事导数据的时候,不小心把一个表中的数据全都搞重了,也就是说,这个表里所有的记录都有一条重复的。这个表的数据是千万级的,而
- 内容摘要: ASP具备管理不同语言脚本程序的能力,能够自动调用合适的脚本引擎以解释脚本代码和执行内置函数。ASP开发环境提供了两种
- 是的,我在这里要说:注册表单将死(好拗口啊,但是不知道怎么翻译更恰当)。回想一下,当你想享受一个网站服务的时候,碰到的第一件事是什么?一个表
- 阅读上一篇:FrontPage2002简明教程四:网页超级链接 一、三种添加CSS的方式 在FrontPage 2002里可以通过三种方式给
- 本文内容由经典论坛星级会员 lipengadmin 收集整理绝大部分属于转载,有很多还是出自咱们蓝色的经典论坛.*****[第1页目录]**
- 目录[redis 调用Lua脚本](#redis 调用Lua脚本)[redis+lua 实现评分排行榜实时更新](#redis+lua 实现
- 这个项目到一开始的kickoff到现在,持续了很长的一段时间,现在差不多也接近了尾声,所以要好好做个总结,下面不会设计到太多技术层面上的东西
- 阅读上一篇:网马解密大讲堂——网马解密初级篇今天主要讲解的内容是Freshow工具的使用方法,工欲善其事,必先利其器,首先要学会如何使用解密
- 前言当我们编写任何程序时,都会遇到一些错误,会让我们有挫败感,所以我有一个解决方案给你。 今天在这篇文章中,我们将讨论错误类型error: