python time及timeit模块

最近在学数据结构与算法,复杂度分析后有一道题:*两次调用time.time()的结果之间的差,由于操作系统可能只是在这段时间的一部分中使用了cpu,经过的时间可能并不能反映出python代码使用cpu的实际时间,请寻找一种解决方案,精确的记录代码使用cpu时间 *

我的思路是 摒弃使用time.time()或者time.clock()相减的方法 如下

def fun1(num):
	number = 0
	for i in range(num):
		number +=1
	print(number)
	
start = time.time()
fun1(1000000)
end = time.time()
print(start-end)

nice的是python还有一个timeit库
直接将所需评估的代码块扔进去即可 代码如下

1-import timeit
2-timeit.timeit('[float(num)for num in range(100000)]',number = 10)
3-0.14644280699940282

第二行第一个参数是目标代码(以字符串形式输入),第二个number是执行此代码的次数,默认是10000
第三行输出为执行总时间

-----------------------------------------------------------------------------------5.13
没想到timeit还挺蠢,但你要计算的函数是自己创建的时候,要“from main import …”另外导入不然会报错如下图,而且函数里面变量要么有默认参数要么直接在里面计算,不能对函数输入新的变量。。。。有点菜
在这里插入图片描述

参考:https://blog.csdn.net/S_o_l_o_n/article/details/82421505

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值