Ⅰ python中程序运行时间的计算
单细胞中各种同类工具层出不重,往往需要比较软件间的重现性,运行速度等,因此查阅了python中程序运行时间计算的各种方法。
程序中主要有两种时间CPU time和Wall time, 前者就是CPU实际运行的时间,包含系统CPU time和程序CPU time;
Ⅱ python 打印出函数执行所用时间
使用timeit模块,先介绍下:
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/envpython
deftest1():
n=0
foriinrange(101):
n+=i
returnn
deftest2():
returnsum(range(101))
deftest3():
returnsum(xforxinrange(101))
if__name__=='__main__':
fromtimeitimportTimer
t1=Timer("test1()","from__main__importtest1")
t2=Timer("test2()","from__main__importtest2")
t3=Timer("test3()","from__main__importtest3")
printt1.timeit(1000000)
printt2.timeit(1000000)
printt3.timeit(1000000)
printt1.repeat(3,1000000)
printt2.repeat(3,1000000)
printt3.repeat(3,1000000)
Ⅲ python 计算程序运行了多长时间
python 计算程序运行时间:
6.760052s
一、import time
Ⅳ python记录程序运行时间的三种方法
python记录程序运行时间的三种方法
这里提供了python记录程序运行时间的三种方法,并附有实现代码,最后进行比较,大家参考下:
方法1
import datetime
starttime = datetime.datetime.now()
#long running
endtime = datetime.datetime.now()
print (endtime - starttime).seconds
方法 2
start = time.time()
run_fun()
end = time.time()
print end-start
方法3
start = time.clock()
run_fun()
end = time.clock()
print end-start
方法1和方法2都包含了其他程序使用CPU的时间,是程序开始到程序结束的运行时间。
方法3算只计算了程序运行的CPU时间
感谢阅读,希望能帮助到大家
Ⅳ 如何使用Python让某段程序固定在每天早上八点钟开始运行
你在windows下根本不用这么麻烦:
首先,比如你的程序名字是 test.py
如果你想调用某个具体函数,就自己写一个的文件,比如
import spider
spider.go()
然后,用系统at命令指定几点几分或者每个星期几或者每个月的第几个星期几等执行某个程序。在执行程序的地方写到:
c:\python25\python.exe myfile.py
这样就可以了。
===================================
如果你觉得简单的方法不好或者你要在其它系统下也可以用,那就这样:
首先,写一串代码:大致意思如下,把_换成空格
import os,time,spider
while True:
__time.sleep(1)
__if time.ctime()[12:19]=="8:00:00" or time.ctime()[12:19]=="20:00:00" :
____spider.go() #举个例子
然后,开机就执行这个文件。windows下可以把文件存为pyw然后开机启动这样没有黑框。其它系统你爱怎么样都可以了(mac没用过不知道)
Ⅵ 用python+编写一个程序,打印出执行1+1运行100次的时间
您好!您可以使用Python的time模块来计算执行1+1运行100次的时间。首先,您需要在您的程序中导入时间模块。然后,您可以使用time.time()函数来获取当前时间,并在开始执行运算之前调用它来获取开始时间,在运算完成之后再调用它来获取结束时间,然后将两者相减来计算出总运行时间。下面是一个例子:
import time
# 记录开始时间
start_time = time.time()
# 执行1+1运算100次
for i in range(100):
1 + 1
# 记录结束时间
end_time = time.time()
# 计算运行时间
run_time = end_time - start_time
# 打印运行时间
print("运行时间: ", run_time)
希望这些信息对您有帮助!
Ⅶ python3.5中怎么输出运行时间
通过代码实现。
具体代码。start=time。clock()run_fun()end=time。clock()printend-start这种算法只计算了程序运行的CPU时间。
我们知道为了提高代码的运行速度,我们需要对书写的python代码进行性能测试,而代码性能的高低的直接反馈是电脑运行代码所需要的时间。
Ⅷ 7种检测Python程序运行时间、CPU和内存占用的方法
1. 使用装饰器来衡量函数执行时间
有一个简单方法,那就是定义一个装饰器来测量函数的执行时间,并输出结果:
import time
from functoolsimport wraps
import random
def fn_timer(function):
@wraps(function)
def function_timer(*args, **kwargs):
t0= time.time()
result= function(*args, **kwargs)
t1= time.time()
print("Total time running %s: %s seconds" %
(function.__name__, str(t1- t0))
)
return result
return function_timer
@fn_timer
def random_sort(n):
return sorted([random.random() for i in range(n)])
if __name__== "__main__":
random_sort(2000000)
输出:Total time running random_sort: 0.6598007678985596 seconds
使用方式的话,就是在要监控的函数定义上面加上 @fn_timer 就行了
或者
# 可监控程序运行时间
import time
import random
def clock(func):
def wrapper(*args, **kwargs):
start_time= time.time()
result= func(*args, **kwargs)
end_time= time.time()
print("共耗时: %s秒" % round(end_time- start_time, 5))
return result
return wrapper
@clock
def random_sort(n):
return sorted([random.random() for i in range(n)])
if __name__== "__main__":
random_sort(2000000)
输出结果:共耗时: 0.65634秒
2. 使用timeit模块
另一种方法是使用timeit模块,用来计算平均时间消耗。
执行下面的脚本可以运行该模块。
这里的timing_functions是Python脚本文件名称。
在输出的末尾,可以看到以下结果:4 loops, best of 5: 2.08 sec per loop
这表示测试了4次,平均每次测试重复5次,最好的测试结果是2.08秒。
如果不指定测试或重复次数,默认值为10次测试,每次重复5次。
3. 使用Unix系统中的time命令
然而,装饰器和timeit都是基于Python的。在外部环境测试Python时,unix time实用工具就非常有用。
运行time实用工具:
输出结果为:
Total time running random_sort: 1.3931210041 seconds
real 1.49
user 1.40
sys 0.08
第一行来自预定义的装饰器,其他三行为:
real表示的是执行脚本的总时间
user表示的是执行脚本消耗的CPU时间。
sys表示的是执行内核函数消耗的时间。
注意:根据维基网络的定义,内核是一个计算机程序,用来管理软件的输入输出,并将其翻译成CPU和其他计算机中的电子设备能够执行的数据处理指令。
因此,Real执行时间和User+Sys执行时间的差就是消耗在输入/输出和系统执行其他任务时消耗的时间。
4. 使用cProfile模块
5. 使用line_profiler模块
6. 使用memory_profiler模块
7. 使用guppy包