利用4行Python代码监测每一行程序的运行时间和空间消耗

 更新时间:2020年04月22日 09:21:48   作者:不脱发的程序猿  
这篇文章主要介绍了如何使用4行Python代码监测每一行程序的运行时间和空间消耗,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言,其具有高可扩展性和高可移植性,具有广泛的标准库,受到开发者的追捧,广泛应用于开发运维(DevOps)、数据科学、网站开发和安全。然而,它没有因速度和空间而赢得任何称赞,主要原因是Python是一门动态类型语言,每一个简单的操作都需要大量的指令才能完成。

所以这更加需要开发者在使用Python语言开发项目时协调好程序运行的时间和空间。

1、分析时间耗时

分析项目消耗的时间消耗,依托于line_profiler模块,其可以计算出执行每行代码所需占用的CPU时间。

第1步:安装line_profiler模块,我是用pip安装一直失败,所以下载到本地进行离线安装,指令如下所示:

pip install .\line_profiler-3.0.2-cp37-cp37m-win_amd64.whl

安装成功效果如下所示:

第2步:分析每行代码的运行时间,本案例Demo检测for循环一万次累加和while循环一万次累加的时间,并进行对比,实现代码如下所示:

from line_profiler import LineProfiler
 
def operation1():
 num=0
 for i in range(10000):
  num += 1
 
def operation2():
 num=0
 while(num < 10000):
  num += 1
 
if __name__ == "__main__":
 lprofiler = LineProfiler(operation1,operation2)
 lprofiler.run('operation1()')
 lprofiler.run('operation2()')
 lprofiler.print_stats()

运行程序,可见while循环速度稍微慢一些,效果如下所示:

2、分析空间耗时

memory_profiler模块可实现对Python项目中每一个代码的内存消耗进行分析和监控。

第1步:安装memory_profiler库文件,指令如下所示:

pip install memory_profiler

安装成功效果如下所示:

第2步:分析每行代码的空间消耗,本案例Demo检测for循环一万次累加和while循环一万次累加的消耗空间,并进行对比,实现代码如下所示:

from memory_profiler import profile
 
@profile
def operation1():
 num=0
 for i in range(10000):
  num += 1
 
@profile
def operation2():
 num=0
 while(num < 10000):
  num += 1
 
if __name__ == "__main__":
 operation1()
 operation2()

由于是简单运算消耗的内存是微乎其微的,效果如下所示:

本篇博文仅介绍以上两种模块,其实有更多有意思的模块可以实现对程序的运行时间和空间消耗的监测,感兴趣的朋友可以多多尝试。

到此这篇关于利用4行Python代码监测每一行程序的运行时间和空间消耗的文章就介绍到这了,更多相关python 监测程序运行时间空间消耗内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现多维数据分析的示例详解

    Python实现多维数据分析的示例详解

    多维数据分析是对数据的信息分析,它考虑了许多关系,这篇文章主要为大家详细介绍了一些使用Python分析多维/多变量数据的基本技术,希望对大家有所帮助
    2023-11-11
  • Pandas DataFrame 取一行数据会得到Series的方法

    Pandas DataFrame 取一行数据会得到Series的方法

    今天小编就为大家分享一篇Pandas DataFrame 取一行数据会得到Series的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • Python设计模式之享元模式原理与用法实例分析

    Python设计模式之享元模式原理与用法实例分析

    这篇文章主要介绍了Python设计模式之享元模式原理与用法,结合实例形式较为详细的分析了享元模式的相关概念、原理、定义及使用方法,需要的朋友可以参考下
    2019-01-01
  • 通过数据库向Django模型添加字段的示例

    通过数据库向Django模型添加字段的示例

    这篇文章主要介绍了通过数据库向Django模型添加字段的示例,Django是人气最高的Python web开发框架,需要的朋友可以参考下
    2015-07-07
  • Python 3.6 -win64环境安装PIL模块的教程

    Python 3.6 -win64环境安装PIL模块的教程

    PIL功能非常强大,但API却非常简单易用。这篇文章主要介绍了Python 3.6 -win64环境安装PIL模块的教程,需要的朋友可以参考下
    2019-06-06
  • 详解Python中defaultdict的具体使用

    详解Python中defaultdict的具体使用

    defaultdict 是一个类似字典的容器,属于 collections 模块, 它是字典的子类, 因此它具有词典的所有功能,下面小编就来和大家详细聊聊defaultdict的具体使用吧
    2023-10-10
  • 使用PyTorch实现随机搜索策略

    使用PyTorch实现随机搜索策略

    这篇文章主要介绍了使用PyTorch实现随机搜索策略,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • Python制作词云图代码实例

    Python制作词云图代码实例

    这篇文章主要介绍了Python制作词云图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Python绘制专业的K线图 源代码解析

    Python绘制专业的K线图 源代码解析

    这篇文章主要介绍了Python绘制专业的K线图,使用Python绘制一幅专业的K线图,是量化投资和金融数据分析的必备功课。下面我将从K线图简介、数据获取、K线图绘制及成交量绘制等方面,结合源代码,一步步实现专业K线图的绘制,需要的朋友可以参考下
    2021-10-10
  • Python容错的前缀树实现中文纠错

    Python容错的前缀树实现中文纠错

    本文使用 Python 实现了前缀树,并且支持编辑距离容错的查询。文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07

最新评论