python的运行时间

2024-04-23 09:31:30 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我试图估计运行时间为我的fft代码形式numpy。不同的输入长度N。下面是我的代码。你知道吗

import cmath
import math
from random import uniform
from numpy.fft import fft 
import time
for i in range(3,10):
    N = 2**i
    x = [uniform(-32768,32767) for i in range(N)]
    t0 = time.clock()
    X = fft(x)
    t1 = time.clock()
    print t1-t0

这是我得到的结果,输入长度为N=3的第一行应该是最快的一行,但是无论我运行多少次,第一行总是最大的一行。我想这是计时器的问题,但我不知道确切的原因。有人能给我解释一下吗?你知道吗

输出:

4.8e-05
3e-05
1.7e-05
6e-05
3.1e-05
5.4e-05
9.6e-05

Tags: 代码infromimportfftnumpyfortime
1条回答
网友
1楼 · 发布于 2024-04-23 09:31:30

时间间隔太小,无法准确测量时钟(),因为操作系统调用中存在延迟抖动。相反,做足够的工作(每个fft循环几千次或几百万次),直到要测量的功需要几秒钟。另外,还要将每个测量重复几次并取平均值,因为可能会有其他系统开销(缓存刷新、进程切换等)影响性能。你知道吗

相关问题 更多 >