For循环所需的时间比循环数乘以完成的时间要长

2024-05-26 22:56:30 发布

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

我有一个for循环,它使用已经定义的函数和循环中前一阶段的结果。它比函数乘以循环数所花费的时间要长。有没有更有效的方法

def Surge_Method2(CD, FlyWheel_frequence, Presession_frequence, slices, Time_Step, Stop_time):
    Advance_V = [0]

    for i in Elements(Time_Step, Stop_time):
        advance_v = Foward_Velocity(Advance_V[i], Roll_V_at_time(i*Time_Step, 
        FlyWheel_frequence, Presession_frequence), CD, slices, Time_Step) 

        Advance_V.append(advance_v)
        out = Advance_V[:-1]
    return(out)    

Tags: 函数for定义timestepcdoutstop
1条回答
网友
1楼 · 发布于 2024-05-26 22:56:30

@bsa是对的:您可能在假设您的底层函数总是有相同的执行时间

如果预定义函数是递归函数或包含依赖于数字本身的循环(使用阶乘计算的类比),那么它们的执行时间会有很大的变化。我强烈建议您在对您的功能进行基准测试之前,先对它们进行基准测试

与您的问题没有直接关系:

惯用的Python在变量名中使用小写字母,因此应该调用函数surge_method2(),以及参数flywheel_frequencepresession_frequence,等等

相关问题 更多 >

    热门问题