python-3.x - 函数对执行速度有什么影响?
问题描述
对 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 秒
我为错过了我必须做的一些愚蠢的事情而道歉?
解决方案
推荐阅读
- java - 在单元格触发打开对话框时更新java表模型
- r - 如何根据不同的分位数更改 geom_quantile 中的线型?
- augmented-reality - 使用 iPad LiDAR 并将网格导入 RealityKit
- node.js - How to active CORS in firebase functions with NestJs
- swift - 使用 replaceCurrentItem() 时 AVPlayer 闪烁 - Swift - 以编程方式
- javascript - 我如何必须在这里使用 gotoAndStop() ?
- environment-variables - Azure 函数中的 Environment.SetEnvironmentVariable
- c++ - 满足 IF 语句时替换字符串数组中的字符
- r - R::无论列顺序如何,我如何将一个矩阵的行与另一个矩阵的行匹配?
- javascript - 我尝试在此 Firestore 事务中删除一个值并设置一个值但不工作