以下是我的功能定义
def func_a():
return 1
def func_b(val1):
return val1*2
Run Code Online (Sandbox Code Playgroud)
这是调用函数的一种方法:
count = 0
while count < 10000000:
val2 = func_b(func_a())
count += 1
Run Code Online (Sandbox Code Playgroud)
以上时间是:
real 0m5.003s
user 0m4.989s
sys 0m0.012s
Run Code Online (Sandbox Code Playgroud)
对于具有相同功能定义的以下用法:
count = 0
while count < 10000000:
ret1 = func_a()
val2 = func_b(ret1)
count += 1
Run Code Online (Sandbox Code Playgroud)
所花的时间是
real 0m5.502s
user 0m5.414s
sys 0m0.010s
Run Code Online (Sandbox Code Playgroud)
我做了大约10次运行,两者之间的实时差异总是~300-500 ms.
系统时间通常只有约1-2毫秒不同.(最大约10毫秒).
我工作的应用程序处理大约60-90k的交易,具有亚毫秒级的性能,所以这对我来说很重要.为什么两次调用之间有这么大的差异?
编辑注意:问题修改后,以下答案现在没有多大关系,请参阅原始问题的问题编辑.