python图形化性能测试工具_Python的7种性能测试工具:timeit、profile、cProfile、line_profiler、memory_profiler、PyCharm图形化性能测试...

1.timeit:

>>> import timeit

>>> def fun():

for i in range():

a = i * i

>>> timeit.timeit('fun()', 'from __main__ import fun', number=)

0.02922706632834235

>>>

timeit只输出被测试代码的总运行时间,单位为秒,没有详细的统计。

2.profile

profile:纯Python实现的性能测试模块,接口和cProfile一样。

>>> import profile

>>> def fun():

for i in range():

a = i * i

>>> profile.run('fun()')

function calls in 0.031 seconds

Ordered by: standard name

ncalls tottime percall cumtime percall filename:lineno(function)

0.000 0.000 0.016 0.016 :(exec)

0.016 0.016 0.016 0.016 :(setprofile)

0.016 0.016 0.016 0.016 :(fun)

0.000 0.000 0.016 0.016 :()

0.000 0.000 0.031 0.031 profile:(fun())

0.000 0.000 profile:(profiler)

>>>

ncall:函数运行次数

tottime: 函数的总的运行时间,减去函数中调用子函数的运行时间

第一个percall:percall = tottime / nclall

cumtime:函数及其所有子函数调整的运行时间,也就是函数开始调用到结束的时间。

第二个percall:percall = cumtime / nclall

3.cProfile

profile:c语言实现的性能测试模块,接口和profile一样。

>>> import cProfile

>>> def fun():

for i in range():

a = i * i

>>> cProfile.run('fun()')

function calls in 0.024 seconds

Ordered by: standard name

ncalls tottime percall cumtime percall filename:lineno(function)

0.024 0.024 0.024 0.024 :(fun)

0.000 0.000 0.024 0.024 :()

0.000 0.000 0.024 0.024 {built-in method exec}

0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}

>>>

ncalls、tottime、percall、cumtime含义同profile。

4.line_profiler

安装:

pip install line_profiler

安装之后kernprof.py会加到环境变量中。

line_profiler可以统计每行代码的执行次数和执行时间等,时间单位为微妙。

测试代码:

C:\Python34\test.py

import time

@profile

def fun():

a =

b =

for i in range():

a = a + i * i

for i in range():

b +=

time.sleep(0.1)

return a + b

fun()

使用:

1.在需要测试的函数加上@profile装饰,这里我们把测试代码写在C:\Python34\test.py文件上.

2.运行命令行:kernprof -l -v C:\Python34\test.py

输出结果如下:

Total Time:测试代码的总运行时间

Hits:表示每行代码运行的次数

Time:每行代码运行的总时间

Per Hits:每行代码运行一次的时间

% Time:每行代码运行时间的百分比

5.memory_profiler:

memory_profiler工具可以统计每行代码占用的内存大小。

安装:

pip install memory_profiler

pip install psutil

测试代码:

同line_profiler。

使用:

1.在需要测试的函数加上@profile装饰

2.执行命令: python -m memory_profiler C:\Python34\test.py

输出如下:

6.PyCharm图形化性能测试工具:

PyCharm提供了图像化的性能分析工具,使用方法见利用PyCharm的Profile工具进行Python性能分析。

7.objgraph:

objgraph是一个实用模块,可以列出当前内存中存在的对象,可用于定位内存泄露。

objgraph需要安装:

pip install objgraph

常用MySQL图形化管理工具

MySQL的管理维护工具非常多,除了系统自带的命令行管理工具之外,还有许多其他的图形化管理工具,这里我介绍几个经常使用的MySQL图形化管理工具,供大家参考. MySQL是一个非常流行的小型关系型数据 ...

ROS(indigo) 用于机器人控制的图形化编程工具--code_it robot_blockly

0 简介: 编程语言有汇编,高级语言,解释语言等,现在图形化编程也越来越流行.图形化编程简单易学.8年前,微软推出了VPL用于机器人程序设计,如Python和JavaScript都可以用图形化框图实现 ...

有评论就是我最大的动力~MySQL基础篇完结(存储引擎和图形化管理工具)

hi 今天登上来,发现竟然有了3个评论~~加油吧! 这周的计划其实远远没有达到,然后下周还有一大堆事情...那么...周末好好玩吧~ 今天试图完结MySQL的基础篇知识,小白变为大白? 1.MySQL ...

数据库--oracle图形化管理工具和新增自定义用户

oracle数据库图形化管理工具: 1 navicat工具很小,操作mySQL和SQLServer非常好用,但对于oracle体验性就有点差,要自己下载编码和替换oci文件.下面是解决的方法教程链接 ...

网络协议图形化分析工具EtherApe

网络协议图形化分析工具EtherApe   在对网络数据分析的时候,渗透测试人员往往只关心数据流向以及协议类型,而不关心具体数据包的内容.因为这样可以快速找到网络的关键节点或者重要的协议类型. Kal ...

PostgreSQL 图形化客户端工具的使用技巧你都get了吗?

PostgreSQL 数据库作为目前功能较强大的开源数据库,得到了广泛应用.其中,TSA就用到了这款数据库来存储处理后的一些业务数据.虽然PostgreSQL自身提供了命令行交互式客户端工具psql, ...

怎么样putty打开图形化管理工具,在终端上

有时需要在putty这种图形终端开放的图形化管理工具将出现以下错误: [root@node2 ~]# Traceback (most recent call last): File "/us ...

memcache图形化管理工具MemAdmin

给大家介绍一款 memcache图形化管理工具: MemAdmin 下载地址: http://www.junopen.com/memadmin/ wget http://www.junopen.com ...

docker图形化管理工具portainer

本章主要介绍docker的web图形化管理工具.这里使用 portainer(类似与dockui不过dockerui只支持单节点) 镜像名称 portainer/portainer 一.启动porta ...

随机推荐

JAVA(IO流)文件复制

package com.am; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOEx ...

android xml解析添加到listview中的问题

一个问题不知什么原因,代码: public class OtherActivity extends ListActivity { @Override protected void onCreate(B ...

C++-bool的值

/// // // FileName : boo ...

A Tour of Go Short variable declarations

Inside a function, the := short assignment statement can be used in place of a var declaration with ...

JConsole 连接配置

远程监控配置 JDK配置 在%JAVA_HOME%/jre/lib/management目录下,jmxremote.password.template.jmxremote.password需要修改配置 ...

android createbitmap函数内存溢出,求解怎样进行处理out of memory溢出问题

android createbitmap函数内存溢出,求解怎样进行处理out of memory溢出问题 android createbitmap函数内存溢出,求解怎样进行处理out of memor ...

mysql 如何修改、添加、删除表主键

在我们使用mysql的时候,有时会遇到须要更改或者删除mysql的主键,我们能够简单的使用alter table table_name drop primary key;来完成.以下我使用数据表tab ...

Virtualbox+Ubuntu安装,VERR_VMX_MSR_ALL_VMX_DISABLED解决

学习链接:基于VirtualBox虚拟机安装Ubuntu图文教程--娄老师 启动虚拟机遇到的问题:BIOS中VT-x在所有CPU模式下被禁用(VERR_VMX_MSR_ALL_VMX_DISABLED ...

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值