导入X与从X导入Y之间的时间差

时间:2019-03-01 14:48:29

标签: python-3.x performance

当我导入数学库与从数学库仅导入sqrt函数时,我注意到执行时间之间存在细微差别

我创建了两个样本,以了解时间效率方面的实际差异。我的问题是为什么这两种方法之间会有区别。

import math
import time
elapsed_time = 0
for j in range(0,20): 
    start_time = time.time()
    for i in range(0,1000000):
        math.sqrt(i)
    elapsed_time += time.time() - start_time
print(elapsed_time/20.0)

输出:0.16759999752

from math import sqrt
import time
elapsed_time = 0
for j in range(0,20):
    start_time = time.time()
    for i in range(0,1000000):
        sqrt(i)
    elapsed_time += time.time() - start_time
print(elapsed_time/20.0)

输出:0.137699997425

2 个答案:

答案 0 :(得分:0)

您多久运行一次代码?一次运行您的代码没有统计意义。正在执行的机器资源并不是您的代码专有的!

答案 1 :(得分:0)

由于执行import math时要比使用更多ram等导入所有函数类或数学库中的其他函数,但是执行from math import sqrt时要在所有数学库中仅导入sqrt函数< / p>