一、Python 借助 line_profiler 模块 查看每一行耗了多少时间?

1. 安装

windows10、python3.7.4安装,安装得个2分钟左右

pip install line_profiler

2. 使用

from line_profiler import LineProfilerdef func_line_time(follow=[]):def decorate(func):@wraps(func)def profiled_func(*args, **kwargs):try:profiler = LineProfiler()profiler.add_function(func)  # 增加每列的行数for f in follow:profiler.add_function(f)profiler.enable_by_count()  # enable_by_count进行执行以获取消耗的时间return func(*args, **kwargs)finally:profiler.print_stats()  # 显示结果return profiled_funcreturn decorate@func_line_time()
def process(self, params):import pandas as pd`在这里插入代码片`pass

3. 结果

  • Hit:代码运行次数;
  • %Time:代码占了它所在函数的消耗的时间百分比,通常直接看这一列。
  • 在这里我们主要观察%Time 所占用的百分比,对百分比较高的行数进行优化为第一选择。

二、Python 借助内存分析库 memory_profiler 查看每一行消耗了多少内存?

1. 安装

pip install memory_profiler

2. 使用

# 2. 借助内存分析库 memory_profiler 查看每一行消耗了多少内存?
from memory_profiler import profile# precision 精确到小数点后几位
# stream 此模块分析结果保存到‘memory_profiler.log’ 日志文件。如果没有此参数,分析结果会在控制台输出
# @profile(precision=4, stream=open('memory_profiler.log', 'w+'))
@profile(precision=4)
def process():print('memory analysis------------')passprocess()
print('------------endl------------')

3. 结果

- Mem 是总消耗的内存

  • Increment 是第几行代码运行完后增加的内存
  • 通过memory_profiler 我们可以分析到每一行运行完后占用的内存。这部分内存在进程没结束的时候是不好被回收掉的,因此在这里如果有哪一行逻辑运行一直在增加内存消耗,则这行可能是罪魁祸首。

参考:

  • https://blog.csdn.net/qq_35869630/article/details/106731783?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2allfirst_rank_v2~rank_v25-1-106731783.nonecase&utm_term=python%E6%9F%A5%E7%9C%8B%E5%87%BD%E6%95%B0%E6%B6%88%E8%80%97%E7%9A%84%E5%86%85%E5%AD%98

【Python line_profiler memory_profiler】分析每一行代码的耗时及内存占用情况相关推荐

  1. java内存占用分析_JVM内存占用情况深入分析

    本文转自阿飞的博客 很多同学都问过这个问题,为什么我的Xmx设置4g,但是TOP命令查询RES却占用5G,6G,甚至10G.这个正常吗?也可以说正常,也可以说不正常,怎么判断?笔者今天就要为你解答这个 ...

  2. Shell脚本和Python查看Nginx并发连接数、进程数和常驻内存占用情况

    Shell脚本查看Nginx并发连接数.进程数和常驻内存占用情况 http://xiaoyongxing1.blog.163.com/blog/static/642807522015144302240 ...

  3. python 东哥 with open_Python一行代码搞定炫酷可视化,你需要了解一下Cufflinks

    作者:xiaoyu 微信公众号:Python数据科学 前言 学过Python数据分析的朋友都知道,在可视化的工具中,有很多优秀的三方库,比如matplotlib,seaborn,plotly,Boke ...

  4. 如何把python可视化到前端_Python一行代码搞定炫酷可视化,就用这个工具!

    学过Python数据分析的朋友都知道,在可视化的工具中,有很多优秀的三方库,比如matplotlib,seaborn,plotly,Boken,pyecharts等等.这些可视化库都有自己的特点,在实 ...

  5. python炫酷可视化_Python 一行代码搞定炫酷可视化,你需要了解一下 Cuffl

    前言 学过Python数据分析的朋友都知道,在可视化的工具中,有很多优秀的三方库,比如matplotlib,seaborn,plotly,Boken,pyecharts等等.这些可视化库都有自己的特点 ...

  6. Python 把较长的一行代码分成多行的技巧

    概述:在写代码过程中,经常遇到一行代码很长的情况.为了让代码显得整齐干净,就需要把一行代码分成多行来写,Python中有三种小技巧可以实现该功能: 1.用反斜杠\链接多行代码 2.用小括号括起来 3. ...

  7. python基础知识-8-三元和一行代码(推导式)

    python其他知识目录 1.三元运算(三目运算) 三元运算符就是在赋值变量的时候,可以直接加判断,然后赋值 格式:[on_true] if [expression] else [on_false] ...

  8. Python妙用:使用一行代码下载视频

    "如何用一行Python代码下载<后浪>等全网视频" 01 基于Python开发 是的,这款下载工具包是基于Python开发的,实际它不只支持视频下载,还支持图片.音乐 ...

  9. python 点到围栏距离_Python一行代码处理地理围栏

    最近在工作中遇到了这个一个需求,用户设定地理围栏,后台获取到实时位置信息后通过与围栏比较,判断是否越界等. 这个过程需要用到数据协议为GEOjson,通过查阅资料后,发现python的shapely库 ...

最新文章

  1. TIOBE 1 月编程语言:Python 摘得 2020 年度编程语言!
  2. 马斯克要复活恐龙?乌龙还差不多
  3. parted如何将磁盘所有空间格式化_linux下大于2T的硬盘格式化方法
  4. 如何在 ASP.NET Core 中使用 LazyCache
  5. java名片_javaweb名片管理系统
  6. 又是绩效考核时,KPI 和 OKR 到底怎么考?
  7. 李宁院士二审宣判,改判10年
  8. 计算机CPU核的位数,如何查cpu位数
  9. 添加分隔符|的几种方法
  10. Minio Utils
  11. ZOJ1516 Uncle Tom's Inherited Land(二分图最大匹配)
  12. 【结构体】 结构体引用、结构体数组指针、包含结构的结构体
  13. hdu 4745 区间dp
  14. php中常用的输出语句及其区别
  15. 接雨水---LeetCode----(20)--左右夹逼法
  16. 闪客工具:greensock出的TransformManager类
  17. 口算练习机/儿童数学宝/口算神器 开发方案,LCD液晶显示驱动IC-VK1621B,可提供方案/技术支持
  18. mycat分库分表+springcloud微服务小案例实现
  19. 基于Java毕业设计中山学院教室管理系统源码+系统+mysql+lw文档+部署软件
  20. 笨鸟先飞之Java---缠缠绵绵的注解和注释

热门文章

  1. web站点的欢迎页面
  2. Android AlertDialog设置宽度显示不正常的问题
  3. BZOJ4401 块的计数
  4. 编写函数求两个整数 a 和 b 之间的较大值。要求不能使用if, while, switch, for, ?: 以 及任何的比较语句。...
  5. linux - centos yum安装LAMP环境
  6. C#基础——数组(冒泡排序)
  7. BZOJ4292 : [PA2015]Równanie
  8. CMD——ping及用其检测网络故障
  9. 【目标检测】yolo系列:从yolov1到yolov5之YOLOv1详解及复现
  10. pygame是python的一个库吗,python学习pygame,,基本库导入impor