【发布时间】:2023-02-07 06:22:25
【问题描述】:
我正在构建自己的 timeit 函数版本,它返回运行函数 n 次所需的时间。但是,当我使用示例输入运行它时,我收到了以下输出,这似乎不正确,因为它运行得非常快。
9.400071576237679e-06
我的代码:
from time import perf_counter
from typing import Callable
class MyTimeit:
def __init__(self):
pass
def timeit(self, function: Callable, *parameters, num: int=10000):
if not parameters:
start = perf_counter()
for _ in range(num):
function()
return perf_counter()-start
else:
start = perf_counter()
for _ in range(num):
function(*parameters)
return perf_counter()-start
print(MyTimeit().timeit(lambda x: x<12, 10, n=100))
我做错了什么吗?
【问题讨论】:
-
e-06后缀告诉您将小数点移动六位。 -
你得到的时间值是科学计数法。 “e”代表“10 的次方”,因此您的代码运行时间约为 9.4 * 10^-9,即 9.4 纳秒。
标签: python function time timeit