| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Python asyncio 性能分析 -> 正文阅读 |
|
[Python知识库]Python asyncio 性能分析 |
一、工具1.cProfile一般对分析python性能的工具都会用cprofile。但是这玩意对多线程和asyncio的支持并不友好,如果用它对asyncio分析,会发现CPU都耗费在了poll上面,无法确定到底耗费在哪些协程上。 例如会出现python - What is correct way to use cProfile with asyncio code? - Stack Overflow这样的问题。 用法:
运行完会生成一个test.prof文件,本文第二节介绍如何通过可视化工具查看这个文件。 2、yappiGitHub - sumerc/yappi: Yet Another Python Profiler, but this time thread&coroutine&greenlet aware. 这个工具可以测多线程、asycio等多种场景。 安装:
运行下方例子就会输出每个函数/协程所占用的时间,并生成一个test.prof文件:
输出如下图: 二、可视化1、SnakeViz可以针对上面工具生成的prof文件进行分析,然后生成分析结果可以直观地看到cpu时间都耗费在哪里了。 使用方法:
?就会打开一个网页来展示分析的情况。 2、gprof2dotgprof2dot可以将prof文件生成一个图片。 安装:
?运行:
生成的图片如下图所示 参考文章: 好用的 Python Profile(性能/耗时分析)工具 - 知乎 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 18:04:27- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |