在python里用time.time判断函数的执行时间靠谱吗使用time.time来统计函数的执行时间python统计函数耗时,程序只会执行一次python统计函数耗时,存在很大的随机因素 。
timtit包就可以重复执行函数多次,然后将多次执行结果取平均值 。相比起来更优 。
然而程序执行时间很大程度还受计算机性能的影响,衡量程序好坏更靠谱的手段是计算时间复杂度 。
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
#这个装饰器可以在方便地统计函数运行的耗时 。
#用来分析脚本的性能是最好不过了 。
【关于python统计函数耗时的信息】#这样用:
@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程序中运行时最耗时间的部分那就是profile和cProfile模块:
import cProfile
cProfile.run('function....')
另外,time模块,在不同的函数的开头和结尾分别计时,然后将两个时间相减 , 就可以获得这段函数的运行时间了 , 然后在看哪段函数占的时间比较大:
import time
t1=time.time()
##you function segment here
t2=time.time()
timediff=t2-t1
python 打印出函数执行所用时间使用timeit模块,先介绍下:
timeit 模块
timeit 模块定义了接受两个参数的 Timer 类 。两个参数都是字符串 。第一个参数是你要计时的语句或者函数 。传递给 Timer 的第二个参数是为第一个参数语句构建环境的导入语句 。从内部讲 , timeit 构建起一个独立的虚拟环境,手工地执行建立语句,然后手工地编译和执行被计时语句 。
一旦有了 Timer 对象,最简单的事就是调用 timeit() , 它接受一个参数为每个测试中调用被计时语句的次数,默认为一百万次;返回所耗费的秒数 。
Timer 对象的另一个主要方法是 repeat(),它接受两个可选参数 。第一个参数是重复整个测试的次数 , 第二个参数是每个测试中调用被计时语句的次数 。两个参数都是可选的,它们的默认值分别是 3 和 1000000 。repeat() 方法返回以秒记录的每个测试循环的耗时列表 。Python 有一个方便的 min 函数可以把输入的列表返回成最小值,如: min(t.repeat(3, 1000000))
你可以在命令行使用 timeit 模块来测试一个已存在的 Python 程序 , 而不需要修改代码 。
推荐阅读
- 如何运营校园学院新媒体,如何运营校园学院新媒体营销
- go语言框架python,go语言框架使用情况对比
- 小学室内集体体育游戏教案,小学室内集体体育游戏教案设计
- 苹果路由器怎么设置ip地址,苹果路由器的ip地址
- java反馈功能代码 java返回错误信息
- 看什么视频耗电快,看视频耗电快怎么解决
- 海外服务器8x8x,海外服务器购买
- 直播运营推广计划书,直播运营推广方案
- java中发邮件代码 java实现发送邮件功能