perfy-一个针对python的轻量级性能跟踪程序

perf的Python项目详细描述


性能

perfy-一个针对python的轻量级分析工具

将函数和方法标记为使用@perfydecorator启用的跟踪:

@perfydeftrace_this_function():# do something

此外,还可以使用语句跟踪代码的任意块:

withperfy('name of your choice'):# your code here

运行代码后,使用

perfy.report()

示例:

fromtimeimportsleepfromperfyimportperfy@perfy# <-- use decorator to track function callsdeffunc_sleep():sleep(.02)defsleep_loop():withperfy('sleep loop'):# <-- use with-statement to track arbitrary block of codefor_inrange(10):func_sleep()# you can nest with-blocks and decorated function calls in any order:@perfy# <-- a decorator on a top level functiondefmain():sleep_loop()# <-- this functions has a traced block insidewithperfy('custom named block'):# <-- traced blocksleep(.1)withperfy('inner block'):# <-- nested traced blockfunc_sleep()func_sleep()

对于以上代码perfy.report()将输出:

----------------------------------Perfy report----------------------------------
            Function/Method                  Time(sec.)         Calls(count)    
--------------------------------------------------------------------------------
main                                           0.350                 1          
   └ sleep loop                                0.206                 1          
      └ func_sleep                             0.205                 10         
   └ custom named block                        0.144                 1          
      └ inner block                            0.043                 1          
         └ func_sleep                          0.042                 2          
--------------------------------------------------------------------------------

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JavaFX FXML控制器密钥处理程序代码不工作   java为什么在thymeleaf布局中包含的图像需要很长时间才能显示?   更改Java数组的维数   java文本不会显示在文本框(单选按钮)上   内存不足使用Jmap在OutOfMemoryError上转储Java堆文件   通过浏览器偏移进行java时间转换   java意图不可序列化   java iTextPdf:动态更改单元格宽度   具有资源值的java SpringJUnit4 ClassRunner上下文配置   java AsyncTask仍在最近的应用程序上运行   尝试生成Cucumber报告时出现java CucumberException   爪哇,爪哇。朗。反思。带摘要分析器的InvocationTargetException   java如何在log4j2中实现日期模式转换器   带有MongoRepository:DBRef的java Spring   java将字节[]转换为int   来自服务器的java移动应用自动拨号消息   java如何调用泛型类型为T[]的方法作为参数?   java在switch语句中使用ArrayList类