python输出程序运行时间_Python计算程序运行时间—time.time()、time.clock()

我们先来看一下python3中help(time):

da2daf244957602918396f1448ad8cd5.png
636e803a0da2f04d5469e51074861c8d.png

关于time库中表示时间的方法,官方给出了2种:

1.从1970-01-01 00:00:00 UTC,开始到现在所经历的时间,以浮点数的'秒'来表示

>>>time.time()1517362540.347517

2.用结构化的时间组(year,month,day,hours,minutes,seconds....)来表示从1970-01-01 00:00:00 UTC,开始到现在所经历的时间.

>>>time.gmtime()time.struct_time(tm_year=2018, tm_mon=1, tm_mday=31, tm_hour=1, tm_min=37, tm_sec=36, tm_wday=2, tm_yday=31, tm_isdst=0)

time包中的功能都很实用:

time.clock()返回程序运行的整个时间段中中CPU运行的时间,下面会重点介绍

time.sleep()爬虫中常用,让程序暂停执行指定的秒数,如time.sleep(2)

time.localtime()用结构化的时间组,表示本地时间

>>>time.localtime()time.struct_time(tm_year=2018, tm_mon=1, tm_mday=31, tm_hour=9, tm_min=46, tm_sec=7, tm_wday=2, tm_yday=31, tm_isdst=0)>>>type(time.localtime())

time.ctime()用字符串string类型表示时间。

>>> time.ctime()'Wed Jan 31 09:49:09 2018'

time.mktime()将本地时间列表转化为浮点数的秒来表示

>>> time.mktime(time.localtime())1517363569.0

time.strftime()将时间组时间转化为指定格式的String类

>>> time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())'2018-01-31 10:04:26'

time.strptime()将String类时间转化为时间组格式

>>> time.strptime(time.ctime())time.struct_time(tm_year=2018, tm_mon=1, tm_mday=31, tm_hour=10, tm_min=6, tm_sec=1, tm_wday=2, tm_yday=31, tm_isdst=-1)

time.tzset()更改本地时区(这个功能表示没用过~)


现在我想用time来计算一下程序执行的时间:

定义一个函数run():

def run():    start = time.time()    for i in range(1000):        j = i * 2         for k in range(j):            t = k            print(t)    end = time.time()    print('程序执行时间: ',end - start)
b03b1fe61655521a1433947d20bb2600.png

可以看到,程序执行时间是5.73039174079895s。

现在,让我们用time.clock()来看看程序执行过程中CPU执行了多长时间:

def run2():    start = time.clock()    for i in range(1000):        j = i * 2         for k in range(j):            t = k            print(t)    end = time.clock()    print('CPU执行时间: ',end - start)
5abfba1d3af2f896ec87971401acf979.png

可见,此段代码CPU执行时间为:5.3150249999999915。

那么问题来了,CPU真的执行了这么长时间么?会不会有什么东西是我没考虑进去的呢?

仔细看一下,这段程序主要内容就是两个for循环,for循环执行计算的时候CPU肯定是在运行的,那么print()函数打印期间这个时间段的CPU执行时间有没有算进去?

带着疑问,我们进行第三次测试,此次我们去掉print(),直接让CPU完成整个for循环的计算:

def run3():    start = time.clock()    for i in range(1000):        j = i * 2         for k in range(j):            t = k    end = time.clock()    print('CPU执行时间: ',end - start)

解果:

>>> run3()CPU执行时间: 0.04683999999997468

可以看见,CPU的执行时间瞬间降低到0.04s,细想一下,其实不难理解。

因为去掉了print(),所以整个run3()函数就只剩下完整的for循环,CPU可以连续执行,(不必一遍for循环一边print()来回切换),连续执行的CPU还是很快的~

所以,这给了我一个启发,以后写代码时,要精简不必要的开销,譬如经常使用print()。。。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算Python程序的总运行时间,可以使用time模块中的time函数或clock函数。 使用time函数: 1. 首先,导入time模块。 2. 在程序开始的地方,记录下当前的时间,可以使用time.time()函数来获取当前时间时间戳。 3. 在程序结束的地方,再次使用time.time()函数获取当前时间时间戳。 4. 将结束时间减去开始时间,得到程序运行时间,单位为秒。 示例代码如下: ```python import time start_time = time.time() # 程序开始时间 # 运行程序 end_time = time.time() # 程序结束时间 run_time = end_time - start_time # 程序运行时间,单位为秒 print(run_time) ``` 该段代码会输出程序的总运行时间。 另外,可以使用clock函数来计算程序运行时间,使用方法与time函数类似。不过需要注意的是,clock函数在Python 3.8版本之后已经被废弃,推荐使用time函数来计算程序运行时间。 参考文献: 与time.time()用法一致。 https://time.clock() # 程序开始时间 1.time.time() import time start_time = time.time() # 程序开始时间 本文实例讲述了Python计算程序运行时间的方法。分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下: import time def start_sleep(): time.sleep(3) if __name__ == ‘__main__’: #The start time ... 请注意,这些引用提供了不同的实现方法,但都可以用来计算程序运行时间。具体使用哪种方法取决于你的需求和Python的版本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值