亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> Python

Python Timeit() 与示例

什么是 Python Timeit()?

Python timeit() 是 Python 库中的一种方法,用于测量给定代码片段的执行时间。 Python 库运行代码语句 100 万次,并提供从给定的代码片段集中花费的最短时间。 Python timeit() 是一种有用的方法,有助于检查代码的性能。

语法:

timeit.timeit(stmt, setup,timer, number)

参数

要使用 timeit(),我们需要导入模块,如下所示:

import timeit

第一个例子

下面是一个timeit()函数的简单例子

代码示例1:

# testing timeit()
import timeit
print(timeit.timeit('output = 10*5'))

输出:

0.06127880399999999

我们看过一个简单的例子,给我们简单代码语句输出的执行时间=10*5,执行时间为0.06127880399999999。

在 python 代码中计时多行

有两个你可以在 timeit.timeit() 中执行多行代码,使用分号或将代码保存为带三引号的字符串。

以下是展示其工作原理的示例。

示例 1:使用分号

import timeit
print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))

输出:

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

timeit - 方法:

这里有两个重要的timeit方法

timeit.default_timer() :这将在执行时返回默认时间。

timeit.repeat(stmt, setup, timer, repeat, number) :与 timeit() 相同,但在 repeat 时 timeit() 被称为重复的次数。

程序示例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

示例 2:

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)

输出:

The start time is : 0.220261875
The time difference is : 0.0004737320000000045

示例 3:timeit.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))

输出:

 [0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999]

timeit.repeat() 的工作原理类似于 timeit.timeit() 函数,唯一的区别是它在 repeat 参数中接受并以数组格式返回执行时间,其值根据重复次数。

在命令行界面中执行计时函数timeit.timeit()

在命令行的 timeit() 中执行函数的语法如下:

python -m timeit [-n N] [-r N] [-s S] [-t] [-c] [-h] [code statement ...]


命令行参数:

示例:

C:\pythontest>python -m timeit -s 'text="hello world"'
20000000 loops, best of 5: 13.1 nsec per loop

另一种可以在命令行中执行的方式如下所示:

示例:

>>> import timeit
>>> print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))
The time taken is  0.15048536300000137
>>>

为什么 timeit() 是衡量 Python 代码执行时间的最佳方法?

以下是我们认为 timeit() 是衡量执行时间的最佳方法的几个原因。

总结

timeit()用于获取给定小代码的执行时间

timeit() 使用的参数


Python

  1. Python获取当前时间
  2. Python时间模块
  3. Python 睡眠()
  4. 带有示例的 Python 字符串计数()
  5. Python String format() 举例说明
  6. Python String find() 方法及示例
  7. 带有示例的 Python Lambda 函数
  8. 带有示例的 Python round() 函数
  9. 带有示例的 Python map() 函数
  10. 集合中的 Python 计数器示例
  11. Python 中的 type() 和 isinstance() 示例
  12. 带有示例的 Python 列表计数()