iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中怎么安装和使用pyinstrument
  • 472
分享到

Python中怎么安装和使用pyinstrument

2023-06-29 02:06:47 472人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍了python中怎么安装和使用pyinstrument的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python中怎么安装和使用pyinstrument文章都会有所收获,下面我们一起来看看吧。一

这篇文章主要介绍了python中怎么安装和使用pyinstrument的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python中怎么安装和使用pyinstrument文章都会有所收获,下面我们一起来看看吧。

一、前言

程序的性能也是非常关键的指标,很多时候你的代码跑的快,更能够体现你的技术。最近发现很多小伙伴在性能分析的过程中都是手动打印运行时间的方式来统计代码耗时的:

import datetimestart=datetime.datetime.now()b=[i for i in range(10000000)]  # 生成长度为一千万的列表end=datetime.datetime.now()print(end-start)

输出结果

0:00:00.377766

这种方法使用很快捷,但需要统计每行代码的执行时间,生成可视化的报告等更完善的性能分析时就有点力不从心了。这个时候可以使用python的第三方库Pyinstrument来进行性能分析。

二、Pyinstrument使用

Pyinstrument 是一个 Python 分析器。分析器是一种帮助您优化代码的工具 - 使其更快。要获得最大的速度提升。
Pyinstrument 官方文档:pyinstrument

Pyinstrument 安装:

pip install pyinstrument

举例

对于最开始我们举的例子,使用Pyinstrument实现的代码如下:

文末添加个人VX,获取资料和免费答疑from pyinstrument import Profilerprofiler=Profiler()profiler.start()b=[i for i in range(10000000)]# 生成长度为一千万的列表profiler.stop()profiler.print()

输出结果

  _     ._   __/__   _ _  _  _ _/_   Recorded: 10:39:54  Samples:  1 /_//_/// /_\ / //_// / //_'/ //     Duration: 0.385     CPU time: 0.391/   _/                      v4.1.1Program: D:/code/server/aitestdemo/test2.py0.385 <module>  test2.py:2  #执行总耗时└─ 0.385 <listcomp>  test2.py:7 #单行代码耗时

打印的信息包含了记录时间、线程数、总耗时、单行代码耗时、CPU执行时间等信息。

在多行代码分析的情况下的使用效果(分别统计生成一千万长度、一亿长度、两亿长度的列表耗时):

from pyinstrument import Profilerprofiler = Profiler()profiler.start()a = [i for i in range(10000000)]  # 生成长度为一千万的列表b = [i for i in range(100000000)]  # 生成长度为一亿的列表c = [i for i in range(200000000)]  # 生成长度为十亿的列表profiler.stop()profiler.print()

输出结果

Program: D:/code/server/aitestdemo/test2.py16.686 <module>  test2.py:1├─ 12.178 <listcomp>  test2.py:9├─ 4.147 <listcomp>  test2.py:8└─ 0.358 <listcomp>  test2.py:7

Pyinstrument分析Django代码

使用Pyinstrument分析 DjanGo 代码非常简单,只需要在 Django 的配置文件settings.pyMIDDLEWARE 中添加如下配置:

MIDDLEWARE = [...    'pyinstrument.middleware.ProfilerMiddleware',...]

然后就可以在 url 上加一个参数 profile 就可以:

Python中怎么安装和使用pyinstrument

Pyinstrument还支持flask、异步代码的性能分析,具体可以查看官方文档进行学习
Pyinstrument也提供了丰富的api供我们使用,官网文档有详细的介绍:https://pyinstrument.readthedocs.io/en/latest/reference.html

三、Pyinstrument与cProfile(python自带性能分析器)的不同

根据官方文档的描述来看,Pyinstrument的系统开销会比cProfile 这类跟踪分析器小很多,cProfile由于大量调用探查器,可能会扭曲测试结果:

Python中怎么安装和使用pyinstrument

关于“Python中怎么安装和使用pyinstrument”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Python中怎么安装和使用pyinstrument”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网Python频道。

--结束END--

本文标题: Python中怎么安装和使用pyinstrument

本文链接: https://www.lsjlt.com/news/321979.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python中怎么安装和使用pyinstrument
    这篇文章主要介绍了Python中怎么安装和使用pyinstrument的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python中怎么安装和使用pyinstrument文章都会有所收获,下面我们一起来看看吧。一...
    99+
    2023-06-29
  • python中怎么安装和使用pandas库
    要安装和使用pandas库,可以按照以下步骤进行操作:1. 安装pandas库:- 使用pip安装:在终端或命令提示符中运行以下命令...
    99+
    2023-10-11
    python pandas
  • Python Pyperclip模块怎么安装和使用
    本篇内容介绍了“Python Pyperclip模块怎么安装和使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Pyperclip...
    99+
    2023-07-05
  • python subprocess模块怎么安装和使用
    要安装subprocess模块,你不需要单独安装它,因为它是Python的内置模块之一。只需确保你的Python版本是3.0以上。 ...
    99+
    2024-02-29
    python subprocess
  • python ffmpeg模块怎么安装和使用
    要安装和使用Python的ffmpeg模块,您可以按照以下步骤进行操作: 安装ffmpeg:在安装ffmpeg模块之前,您需要先...
    99+
    2024-02-29
    python ffmpeg
  • Linux中怎么安装和使用Geeknote
    这篇文章主要介绍了Linux中怎么安装和使用Geeknote的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux中怎么安装和使用Geeknote文章都会有所收获,下面我们一起来看看吧。Geeknote简介:...
    99+
    2023-06-28
  • golang中怎么安装和使用gcc
    Golang是一种开源的编程语言,它的出现给予了开发者们强大的工具和灵活性,从而提高了产品的质量和效率。在使用Golang进行开发过程中,可能会需要用到gcc工具,在这篇文章中,我们将了解如何安装gcc以及在Golang中使用gcc。一、安...
    99+
    2023-05-14
  • Linux中怎么安装和使用ttyload
    这篇文章主要讲解了“Linux中怎么安装和使用ttyload”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux中怎么安装和使用ttyload”吧!ttyload是一个轻量级的实用程序,...
    99+
    2023-06-27
  • Linux中怎么安装和使用Terminator
    本篇内容介绍了“Linux中怎么安装和使用Terminator”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Terminator 是一个命令...
    99+
    2023-06-27
  • python中的pandas怎么安装使用
    这篇文章主要介绍了python中的pandas怎么安装使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python中的pandas怎么安装使用文章都会有所收获,下面我们一起来看看吧。说明python+data...
    99+
    2023-06-30
  • mongodb中怎么安装和使用pymongo
    mongodb中怎么安装和使用pymongo,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。(1) mongodb的安装下载tgz解压后,需要添...
    99+
    2024-04-02
  • Mac中MacPorts怎么安装和使用
    要在Mac上安装和使用MacPorts,您可以按照以下步骤操作: 下载安装MacPorts:打开终端应用程序,输入以下命令并按回...
    99+
    2023-10-22
    Mac MacPorts
  • linux中CoreFreq怎么安装和使用
    今天小编给大家分享一下linux中CoreFreq怎么安装和使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我...
    99+
    2023-02-23
    linux corefreq
  • PHP中怎么安装和使用GraphQL
    这篇文章将为大家详细讲解有关PHP中怎么安装和使用GraphQL,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php是什么语言php,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertex...
    99+
    2023-06-14
  • ubuntu中pytorch怎么安装和使用
    要在Ubuntu中安装PyTorch,可以使用conda或pip进行安装。以下是使用conda安装PyTorch的步骤: 首先,确...
    99+
    2024-03-01
    ubuntu pytorch
  • Centos中怎么安装和使用svn
    本篇内容介绍了“Centos中怎么安装和使用svn”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!SVN是Subversion的简称,是一个开...
    99+
    2023-06-28
  • python MySQLdb安装和使用
    MySQLdb是Python连接MySQL的模块,下面介绍一下源码方式安装MySQLdb:首先要下载下载:请到官方网站http://sourceforge.net/projects/mysql-python/或者点击链接下载http://d...
    99+
    2023-01-31
    python MySQLdb
  • python的tkinter模块怎么安装和使用
    在安装Python时,Tkinter模块已经包含在标准库中,因此无需额外安装。要使用Tkinter模块,需要在Python脚本中导入...
    99+
    2023-09-09
    python tkinter
  • Python的setuptools与pip怎么安装和使用
    本文小编为大家详细介绍“Python的setuptools与pip怎么安装和使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python的setuptools与pip怎么安装和使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一...
    99+
    2023-06-27
  • 怎么安装使用Python中的Faker库
    这篇文章主要介绍“怎么安装使用Python中的Faker库”,在日常操作中,相信很多人在怎么安装使用Python中的Faker库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么安装使用Python中的Fak...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作