Time of execution in Python 3.3
我读了这个主题,因为我忘记了几个月前在网上找到的方法,我不知道为什么今天我找不到它,它很简单,效果很好但是...
所以我尝试了一种方法,但我觉得它不好用,或者我5岁的电脑比今天的电脑好...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import time debut=time.clock() def t(n): aaa=[] b=n-1 c=0 if n==0 or n==1: return 1 else: while n != 1: if n % 2==0: n=n//2 aaa.append(n) else: n = n+b aaa.append(n) return [b,b+1]+aaa, len(aaa)+2 fin=time.clock() print(t(100000),fin-debut) |
对于n = 10.000.000,我可以在我的头脑中计算大约5个secondes,计算机总是返回3.956927685067058e-06 ...有人可以解释一下吗?
我发现的方法使用了这个
我不得不返回
如果有人可以开导我,因为我真的不记得这个方法。
先感谢您
查看timeit模块,https://docs.python.org/3.0/library/timeit.html。
你会把你的东西设置成......
1 2 | time = Timer("t(100000)","from __main__ import t") print("time:", timer.timeit(number=1000)) |
您正在测量定义函数所需的时间。
这将测量函数的执行:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import time def t(n): aaa=[] b=n-1 c=0 if n==0 or n==1: return 1 else: while n != 1: if n % 2==0: n=n//2 aaa.append(n) else: n = n+b aaa.append(n) return [b,b+1]+aaa, len(aaa)+2 start = time.time() value = t(100000) end = time.time() duration = end - start print(value, duration) |