首先让我说我对python几乎一无所知,但必须用三种不同的语言编写程序(已经用java和c ++编写)。
我需要能够将方法的执行次数计算一定次数,然后打印整个执行时间所花费的时间。
即
我有函数A
(performSearch(arrayTest)
,arrayTest
是已知大小的数组。 A
执行10次
我需要能够计算执行A
之前到A
执行之后花了多长时间。
答案 0 :(得分:7)
您可以阅读如何使用timeit here。
假设您在同一个文件中有一个名为performSearch的函数,那么您运行的timeit将起作用。
import timeit
def performSearch(array):
array.sort()
arrayTest = ["X"]*1000
if __name__ == "__main__":
print timeit.timeit("performSearch(arrayTest)","from __main__ import performSearch, arrayTest",number=10)
返回:
0.000162031766607
答案 1 :(得分:4)
你可以这样做:
import time
start = time.time()
A()
end = time.time()
print "Took %f ms" % ((end - start) * 1000.0)
答案 2 :(得分:1)
您可以使用以下代码作为示例:
import timeit
def string_generator(size):
return (size/8) * "ABCDEFGH"
if __name__ == "__main__":
#the below line runs the statement inside of '' for 100 times (number).
print timeit.timeit('"-".join(str(n) for n in range(100))',number=100)
#the below line runs the statement inside of '' for 10 times (number) and repeat it 3 times.
print timeit.repeat('"-".join(str(n) for n in range(100))',repeat=3,number=10)
#if you would like to time a function, you can do it similar to below example:
print timeit.timeit("string_generator(2**12)", setup="from __main__ import string_generator")
结果是:
0.00784516334534
[0.0009770393371582031, 0.00036597251892089844, 0.00037407875061035156]
0.414484977722
结果的单位是秒。 python网站上有更多的例子。 enter link description here
你也可以使用ipython。下面列出了相同的例子。
In [25]: %timeit "-".join(str(n) for n in range(100))
结果是:
10000 loops, best of 3: 22.9 µs per loop
如您所见,该单位是宏观第二。
答案 3 :(得分:0)
如果你想要更简单的东西
import time
startMillis = int(round(time.time() * 1000))
print startMillis
time.sleep(5) # this is your function that takes time to execute
endMillis = int(round(time.time() * 1000))
print endMillis
timeTaken = endMillis - startMillis
答案 4 :(得分:0)
是的,只是时间。
离
total= 0
for i in range(1000):
start= time.clock()
function()
end= time.clock()
total += end-start
time= total/1000