timeit()方法用于获取给定小代码的执行时间。 该库将代码运行一百万次,并提供耗时最短时间。 这是一种有用的方法,有助于检查代码的性能。
timeit.timeit(stmt, setup,timer, number)
参量
要使用timeit(),我们需要导入模块,如下所示:
import timeit
这是timeit()函数的一个简单示例
示例1:
# testing timeit()
import timeit
print(timeit.timeit('output = 10*5'))
输出
0.06127880399999999
我们已经看到了一个简单的示例,该示例为我们提供了简单代码语句output= 10 * 5的执行时间,执行该命令所花费的时间为0.06127880399999999。
您可以使用分号或把代码包含在三引号来在timeit.timeit()中执行代码。
示例1:使用分号
import timeit
print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))
Output:
The time taken is 0.137031482
示例2:使用三引号
import timeit
import_module = "import random"
testcode = '''
def test():
return random.randint(10, 100)
'''
print(timeit.repeat(stmt=testcode, setup=import_module))
输出:
C:\pythontest>python testtimeit.py
The time taken is 0.182619178
通常用法示例1:
# testing timeit()
import timeit
import_module = "import random"
testcode = '''
def test():
return random.randint(10, 100)
'''
print(timeit.timeit(stmt=testcode, setup=import_module))
输出:
0.46715912400000004
default_timer() 示例2:
timeit.default_timer():返回系统现在的时间
# testing timeit()
import timeit
import random
def test():
return random.randint(10, 100)
starttime = timeit.default_timer()
print("The start time is :",starttime)
test()
print("The time difference is :", timeit.default_timer() - starttime)
Output:
The start time is : 0.220261875
The time difference is : 0.0004737320000000045
timeit.repeat()示例
timeit.repeat(stmt, setup, timer, repeat, number) : 与timeit()相同,但是多了个repeat ,重复执行repeat次。
# testing timeit()
import timeit
import_module = "import random"
testcode = '''
def test():
return random.randint(10, 100)
'''
print(timeit.repeat(stmt=testcode, setup=import_module, repeat=5))
Output:
[0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999]
timeit.repeat()的功能类似于timeit.timeit()函数,唯一的区别是,它多了repeat参数,并以数组格式返回执行时间,并按repeat编号输出。
在命令行的timeit()中执行函数的语法如下:
python -m timeit [-n N] [-r N] [-s S] [-t] [-c] [-h] [code statement ...]
命令行参数:
-n N:您希望代码执行的次数。
-r N:您希望timeit()函数重复的次数
-s S:它将具有设置详细信息,这些详细信息将在代码执行之前执行。
-t:为此,您可以利用time.time()
-c:为此,您可以利用time.clock()
-h:寻求帮助
代码声明:代码详细信息。
Example:
C:\pythontest>python -m timeit -s 'text="hello world"'
20000000 loops, best of 5: 13.1 nsec per loop
您可以在命令行中执行的另一种方式如下所示:
Example :
>>> import timeit
>>> print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))
The time taken is 0.15048536300000137
>>>