计算代码的执行时长 | 学习笔记

简介: 快速学习计算代码的执行时长,介绍了计算代码的执行时长系统机制, 以及在实际应用过程中如何使用。

开发者学堂课程【Python 入门 2020年版计算代码的执行时长】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/639/detail/10347


计算代码的执行时长

内容介绍:

一、 计算代码的执行时长

二、 优化计算时间的代码


一、计算代码的执行的时间

1、x =1

for i in range(1,100000000

x+=1

print(x)

这个代码的执行时间是有点长的,具体花了多久是可以计算出来的。在这个代码运行之前,获取一下时间然后在这个代码运行完成以后,再获取一下时间,拿到这两个时间之后减法就行了

2获取当前的时间。time 模块可以获取当前的时间,

import time

start=time.time()

time 模块里的 time 方法可以获取当前时间的时间戳,打印一下 start:print(‘start=’,start)

执行的结果是 start=1582251025.9523343时间戳是从1970-01-01 00:00:00 UTC 到现在的秒数,是一个秒级的计算

要以 UTC 为准,也就是0时区,中国是在东八区,要准换成 UTC 时间才能算出来。

再拿到 end 时间,用 end-start,这样就能获得代码执行的时间

end=time.time()

print(‘代码运行耗时{ }秒’,format(end-start))

刚输入代码的时候算一下1970年1月1号到现在多长时间,代码运行后再算1970年1月1号到现在又有多长时间,相减就是执行的时间。

 

二、优化计算时间的代码

1、import time

start=time.time()

x =1

for i in range(1,100000000

x+=1

print(x)

end=time.time()

print(‘代码运行耗时{ }秒’,format(end-start))

代码虽然写完了,但是有一些地方不够好,需要优化一下。重新写一代码,计算这个新的代码执行了多长时间

start=time.time() 

print('hello')

time.sleep(3)

print('world')

end =time.time()

print('代码运行耗时{}秒'.format(end-start))

运行一下就能得到时间,这个代码运行了三秒多一点主要的时间就在睡眠上了,打印 hello 和 word 基本上不花时间

有一段代码,它能够不断地计算这个代码的执行时间如果又来了一个代码,要计算它的执行时间,又得把 start 和 end 一遍写完了之后,再把要执行的代码放到中间来,代码的重复率太高了

2、现在可以考虑写一个函数固定的可以以参数的形式来写,只有中间的代码是变化的,start 和 end 是不变的。

如果是一个代码变了,传一个参数就行了代码也给传参,只不过不是一个普通的参数,要把这一段函数封装成一个函数

这里需要一个 fn,现在把这个 fn 给运行一下,想计算 demo 执行的时间,写个cal_time(),把 demo 放进去,注意 demo 后面不能加括号应该把 demo 这个函数传给这个 fn,然后再调

def cal_time(fn):

start= time.time()

fn()

end =time.time()

print('代码运行耗时(小秒'.format(end- start))

def demo():

x=0

for i in range(1,100000000):

x +=i

print(x)

3、如果再有一个函数,还想计算一下它的时长,可以直接调一下 cal time 把这个函数传进去,了。

def foo():

print('hello')

time.sleep(3)

print('world')

cal_time(demo)

cal time(foo)

个地方它就能够算出代码的执行时间,运行的时间会有误差但是都是毫秒级的,基本上可以忽略不计如果真的要算的话,得算很多次,进行很多次统计,然后求分布的值和平均值

相关文章
|
2月前
|
运维 Serverless 网络安全
函数计算产品使用问题之函数运行时间大于24小时该如何解决
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
2月前
|
运维 监控 Serverless
函数计算产品使用问题之超时时间最大是多少
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
2月前
|
存储 运维 Serverless
函数计算产品使用问题之如何预热函数
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
2月前
|
运维 监控 Serverless
函数计算产品使用问题之怎么查询在特定时间段内应用的调用次数
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
2月前
|
机器人 Serverless 异构计算
函数计算产品使用问题之函数预热的频次该如何设置
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
3月前
|
存储 监控 Serverless
函数计算产品使用问题之怎么查看生成进度
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
3月前
|
存储 Java Serverless
函数计算产品使用问题之执行一个比较耗时的操作导致请求超时时,该怎么办
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
4月前
|
监控 Serverless 持续交付
函数计算产品使用问题之如何使用定时触发器预热函数
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
4月前
|
运维 Java Serverless
函数计算产品使用问题之是否会受执行超时时间的限制
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
4月前
|
弹性计算 运维 Serverless
函数计算产品使用问题之如何自己设置定时任务
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。