gpt4 book ai didi

python - 如何在每个测试都需要随机设置的情况下使用 timeit

转载 作者:行者123 更新时间:2023-11-28 16:40:42 30 4
gpt4 key购买 nike

我有一个函数 f(x),它将 0 和 1 之间的 100 个随机 float 的列表 x 作为输入。不同的列表将导致不同的运行时间f.

我想知道 f 在大量不同的随机列表上平均运行多长时间。最好的方法是什么?我应该使用 timeit 吗?如果是的话,有没有办法在不计算每次试验中生成每个随机列表所需的时间的情况下执行此操作?

如果没有 timeit(伪代码),我会这样做:

for i = 1 to 10000:
x = random list
start = current time
f(x)
end = current time
results.append(end - start)
return mean(results)

最佳答案

你可以制作一个定时器装饰器:

下面是一些示例代码:

from time import time


class Timer(object):
def __init__(self, func):
"""
Decorator that times a function
@param func: Function being decorated
@type func: callable
"""
self.func = func

def __call__(self, *args, **kwargs):
start = time()
self.func(*args, **kwargs)
end = time()
return end - start


@Timer
def cheese():
for var in xrange(9999999):
continue

for var in xrange(100):
print cheese()

工作 example ,循环更少。

关于python - 如何在每个测试都需要随机设置的情况下使用 timeit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19606199/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com