小编Ati*_*son的帖子

python中函数的准确计时

我正在使用Windows上的python进行编程,并希望准确地测量函数运行所需的时间.我编写了一个函数"time_it",它接受另一个函数,运行它,并返回运行所花费的时间.

def time_it(f, *args):
    start = time.clock()
    f(*args)
    return (time.clock() - start)*1000
Run Code Online (Sandbox Code Playgroud)

我称之为1000次,并对结果取平均值.(最后的1000常量是以毫秒为单位给出答案.)

这个功能似乎有效,但我有这种唠叨的感觉,我做错了,通过这样做,我使用的时间超过了它运行时实际使用的功能.

是否有更标准或可接受的方式来做到这一点?

当我更改我的测试函数以调用打印以使其花费更长时间时,我的time_it函数返回平均2.5 ms,而cProfile.run('f()')返回并平均为7.0 ms.我认为我的功能会高估时间,如果有的话,这里发生了什么?

还有一点需要注意,它是我所关心的功能相对时间,而不是绝对时间,因为这显然会因硬件和其他因素而异.

python testing time profiling

62
推荐指数
7
解决办法
8万
查看次数

标签 统计

profiling ×1

python ×1

testing ×1

time ×1