python程序运行时间
① 几种python执行时间的计算方法
方法1:
import datetime
starttime = datetime.datetime.now()
#long running
#do something other
endtime = datetime.datetime.now()
print (endtime - starttime).seconds
datetime.datetime.now()获取的是当前日期,在程序执行结束之后,这个方式获得的时间值为程序执行的时间。
方法2:
start = time.time()
#long running
#do something other
end = time.time()
print end-start
time.time()获取自纪元以来的当前时间(以秒为单位)。如果系统时钟提供它们,则可能存在秒的分数。所以这个地方返回的是一个浮点型类型。这里获取的也是程序的执行时间。
方法3:
start = time.clock()
#long running
#do something other
end = time.clock()
print end-start
time.clock()返回程序开始或第一次被调用clock()以来的CPU时间。 这具有与系统记录一样多的精度。返回的也是一个浮点类型。这里获得的是CPU的执行时间。
注:程序执行时间=cpu时间 + io时间 + 休眠或者等待时间。
关于几种Python执行时间的计算方法,环球青藤小编就和大家分享到这里了,学习是永无止境的,学习一项技能更是受益终身,所以,只要肯努力学,什么时候开始都不晚。如果您还想继续了解关于python编程的学习方法及素材等内容,可以点击本站其他文章学习。
② python中程序运行时间的计算
单细胞中各种同类工具层出不重,往往需要比较软件间的重现性,运行速度等,因此查阅了python中程序运行时间计算的各种方法。
程序中主要有两种时间CPU time和Wall time, 前者就是CPU实际运行的时间,包含系统CPU time和程序CPU time;
③ python3.5中怎么输出运行时间
通过代码实现。
具体代码。start=time。clock()run_fun()end=time。clock()printend-start这种算法只计算了程序运行的CPU时间。
我们知道为了提高代码的运行速度,我们需要对书写的python代码进行性能测试,而代码性能的高低的直接反馈是电脑运行代码所需要的时间。
④ Python测量程序运行时间,time.time与time.clock
现象描述:
1、time.clock 在win系统和linux系统下对相同程序的计时结果不一致
2、到底应该用什么时间计时?为什么用time.time与time.clock计时会有那么大的差异
在计算机领域有多种时间。
第一种称作CPU时间或执行时间,用于测量在执行一个程序时CPU所花费的时间。第二种称作挂钟时间,测量执行一个程序时的总时间。挂钟时间也被称作流逝时间或运行时间。与CPU时间相比,挂钟时间通常长些,因为CPU执行测量的程序可能同时还在执行其它程序的指令。
另一个重要概念是所谓的系统时间,由系统时钟测量。系统时间表示计算机系统时间传递的概念。要记住系统时钟是可以由操作系统修改的,就是修改系统时间。
在Unix系统上,time.time的作用与Windows相同,但time.clock的意义不同。
在Unix系统上,time.clock以秒为单位返回当前处理器时间,例如,执行当前线程所花费的CPU时间。而在Windows上,它是以秒为单位的返回自首次调用该函数以来所流逝的系统时间。
以我遇到的Ubuntu系统上运行time.time和time.clock的例子:
time.time()显示系统时间过去大概1秒,而time.clock()显示花费在当前进程上的CPU时间只有于1毫秒。
而win下time.time()和time.clock()显示系统时间都是大致过去了1秒
在测量程序准确性能时应该使用哪一个呢?
这要视情况而定。如果程序运行的系统能够提供足够的资源给程序,例如,一个运行基于Python的web应用程序的web服务器,则使用time.clock()来测量程序会更有意义,因这个web应用程序可能是服务器上的主要程序 。如果程序运行的系统上还同时运行着其它大量程序,则使用time.time()进行测量会更有意义。 如果不是这样,就应该使用基于挂钟的计时器来测量程序的性能,因为这样通常能反应程序的环境。
放结论,一般情况下:
1、win用time.clock或time.time
2、linux 下用time.time 或 datetime.datetime.now().timestamp()
【1】(重要)https://blog.csdn.net/ao985438294363006/article/details/101349790 Python测量时间,用time.time还是time.clock
⑤ 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时间
感谢阅读,希望能帮助到大家
⑥ 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包
⑦ Python如何获得程序运行时间的格式化显示
(1)在程序启动时获得当前时间:
recordTime = time.time()
(2)同时获得当前时间的格式化串:
startTime = time.strftime("%H%M%S")
(3)在主循环中按秒进行判断:
timeGap = time.time() - recordTime
if timeGap >= 1: #这是按1秒设置的,可以根据实际需要设置
recordTime += timeGap
showTime_String = get_lapseTime(startTime, time.strftime("%H%M%S"))
(4)函数:
def get_lapseTime(aTime, bTime):
aNum = 3600 * int(aTime[:2]) + 60 * int(aTime[2:4]) + int(aTime[-2:])
bNum = 3600 * int(bTime[:2]) + 60 * int(bTime[2:4]) + int(bTime[-2:])
gapH = (bNum - aNum) // 3600
gapM = ((bNum - aNum) % 3600) // 60
gapS = ((bNum - aNum) % 3600) % 60
gapTime = "%02d:%02d:%02d"%(gapH,gapM,gapS)
return(gapTime)
⑧ python语言运行速度如此差
这就要说到 Python 类语言和 C 类语言的主要区别了,Python 属于解释型语言,通俗来说就是你可以一句一句地输入,而 Python 解释器(Interpreter)可以一句一句地执行,而 C 语言属于编译型语言,无法做到这一点,只能一次性输入完成,编译成一个完整的程序再执行,而这个编译的过程由于现代编译器做了非常多的优化,并且你的程序没有输入只有输出,每次运行都出固定的结果,所以极有可能被编译器优化成为了只有一条输出语句(实际情况可能要复杂一些),总的来说就是由于二者之间原理的差异导致了性能的差异,你可以搜一搜相关的资料,关掉 C 语言编译时的优化,再看一下性能,或者将固定的那些值改为运行时需要输入再看一下效果。
Python 相较于 C 的优势有很多,性能这一方面你不需要关心,做出一个足够复杂的程序,它们之间运行效率差不了多少的。