【发布时间】:2019-03-01 14:48:28
【问题描述】:
我注意到导入数学库和仅从数学库导入 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
【问题讨论】:
-
一种可能性是,对于第一个示例,您的代码必须在函数启动时在代码中搜索
math.sqrt函数。但是,第二个示例已经在 计时器开始之前将该函数提供给手,结果会稍微快一些。