首页 > 解决方案 > 函数对执行速度有什么影响?

问题描述

对 python 来说相当新,并且正在开发一个速度至关重要的应用程序 - 基本上是在尽可能接近早上 7 点在线预订预订的竞赛中。试图了解函数调用对执行速度的影响,所以我开发了一个非常简单的测试:计数到 1,000,000 并使用在线和被调用函数计算开始和结束时间。但是,我得到的结果表明该函数占用了内联代码所花费时间的大约 56%。我一定是真的错过了什么。谁能解释一下。

代码:

import time
def timeit():
    temp = 0
    while temp < 10000000:
        temp += 1
    return
time1 = time.time()
temp = 0
while temp < 10000000:
    temp += 1
time2 = time.time()
timeit()
time3 = time.time()
temp = 0
while temp < 10000000:
    temp += 1
time4 = time.time()
timeit()
time5 = time.time()
print("direct took       " + "{:.16f}".format(time2 - time1)     + " seconds")
print("indirect took     " + "{:.16f}".format(time3 - time2)     + " seconds")
print("2nd direct took   " + "{:.16f}".format(time4 - time3)     + " seconds")
print("2nd indirect took " + "{:.16f}".format(time5 - time4)     + " seconds")

结果:

直接耗时 1.6094279289245605 秒

间接耗时 0.9220039844512939 秒

第二次直接耗时 1.5781939029693604 秒

第二次间接花费了 0.9375154972076416 秒

我为错过了我必须做的一些愚蠢的事情而道歉?

标签: python-3.xperformance

解决方案


推荐阅读