ループ内の 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回は時間がかかります。誰かが理由を知っていますか?