以下是我的函数定义
def func_a():
return 1
def func_b(val1):
return val1*2
这是调用函数的一种方式:
count = 0
while count < 10000000:
val2 = func_b(func_a())
count += 1
以上所用时间为:
real 0m5.003s
user 0m4.989s
sys 0m0.012s
对于具有相同函数定义的以下用法:
count = 0
while count < 10000000:
ret1 = func_a()
val2 = func_b(ret1)
count += 1
花费的时间是
real 0m5.502s
user 0m5.414s
sys 0m0.010s
我每次运行大约 10 次,两者之间的实际时间差总是 ~300-500 毫秒。
而系统时间通常只有大约 1-2 毫秒的差异。(最长约 10 毫秒)。
我使用的应用程序处理大约 60-90k 个事务,具有亚毫秒级的性能,所以这对我来说有点大。为什么这两个调用之间有这么大的区别?
编辑注意:问题修改后,下面的答案现在不太相关,请参阅原始问题的问题编辑。