我正在对循环中 if 语句的速度及其对速度的影响进行一些测试。我发现,if 语句始终如一地提高了性能。我的代码:
import time
t = time.time
start = t()
x = 0
while x < 10000000:
x += 1
time1 = t()
x = 0
while x < 10000000:
x += 1
if True:
pass
time2 = t()
print(start)
print(time1 - start) # Time for simple while-loop
print(time2 - time1) # Time for while+if
示例输出为:
1355517837.993
1.7850000858306885
1.7209999561309814
这完全违反直觉。while-if-loop 的工作速度比标准的 while-loop 快得多。几乎每次我运行它都会发生这种情况;也许 20 次中有 1 次需要更长的时间。有谁知道为什么?