python函数耗时的简单介绍

python 打印出函数执行所用时间

使用timeit模块,先介绍下:

鸡泽网站建设公司创新互联,鸡泽网站设计制作,有大型网站制作公司丰富经验。已为鸡泽上1000家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的鸡泽做网站的公司定做!

timeit 模块

timeit 模块定义了接受两个参数的 Timer 类。两个参数都是字符串。 第一个参数是你要计时的语句或者函数。 传递给 Timer 的第二个参数是为第一个参数语句构建环境的导入语句。 从内部讲, timeit 构建起一个独立的虚拟环境, 手工地执行建立语句,然后手工地编译和执行被计时语句。

一旦有了 Timer 对象,最简单的事就是调用 timeit(),它接受一个参数为每个测试中调用被计时语句的次数,默认为一百万次;返回所耗费的秒数。

Timer 对象的另一个主要方法是 repeat(), 它接受两个可选参数。 第一个参数是重复整个测试的次数,第二个参数是每个测试中调用被计时语句的次数。 两个参数都是可选的,它们的默认值分别是 3 和 1000000。 repeat() 方法返回以秒记录的每个测试循环的耗时列表。Python 有一个方便的 min 函数可以把输入的列表返回成最小值,如: min(t.repeat(3, 1000000))

你可以在命令行使用 timeit 模块来测试一个已存在的 Python 程序,而不需要修改代码。

再给你个例子,你就知道怎么做了。

# -*- coding: utf-8 -*-

#!/bin/env python

def test1():

n=0

for i in range(101):

n+=i

return n

def test2():

return sum(range(101))

def test3():

return sum(x for x in range(101))

if __name__=='__main__':

from timeit import Timer

t1=Timer("test1()","from __main__ import test1")

t2=Timer("test2()","from __main__ import test2")

t3=Timer("test3()","from __main__ import test3")

print t1.timeit(1000000)

print t2.timeit(1000000)

print t3.timeit(1000000)

print t1.repeat(3,1000000)

print t2.repeat(3,1000000)

print t3.repeat(3,1000000)

找出python程序中运行时最耗时间的部分

那就是profile和cProfile模块:

import cProfile

cProfile.run('function....')

另外,time模块,在不同的函数的开头和结尾分别计时,然后将两个时间相减,就可以获得这段函数的运行时间了,然后在看哪段函数占的时间比较大:

import time

t1=time.time()

##you function segment here

t2=time.time()

timediff=t2-t1

python 统计 函数运行 次数。

import time

def time_me(fn):

def _wrapper(*args, **kwargs):

start = time.clock()

fn(*args, **kwargs)

print "%s cost %s second"%(fn.__name__, time.clock() - start)

return _wrapper

#这个装饰器可以在方便地统计函数运行的耗时。

#用来分析脚本的性能是最好不过了。

#这样用:

@time_me

def test(x, y):

time.sleep(0.1)

@time_me

def test2(x):

time.sleep(0.2)

test(1, 2)

test2(2)

#输出:

#test cost 0.1001529524 second

#test2 cost 0.199968431742 second

Python:

Python(英语发音:/ˈpaɪθən/), 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。

Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议[1] 。

Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。

Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。


本文标题:python函数耗时的简单介绍
网页路径:http://scyanting.com/article/doohhii.html