While-loop with if-statement faster than while-loop
if-statement, performance, python, python-3.x, while-loop
Solution
I'd guess that the compiler would remove the if True block since it is constant.
When I run I get mostly the opposite results from you. I may just be random effects of the execution environment.
1355519587.2 0.832797050476 1.04382395744
1355519590.03 0.863899946213 1.09347200394
1355519593.72 0.831655025482 1.05389809608
1355519599.71 0.831452131271 1.41783499718
1355519602.99 0.815280914307 1.05724310875
1355519605.72 0.826404094696 1.05700492859
1355519608.94 0.827296972275 1.07807898521
Problem
I am doing some testing regarding the speed of if-statements in loops and their effect on speed. Something I found was that consistently, the if-statement improved performance. My code: ``` 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 ``` A sample output would be: ``` 1355517837.993 1.7850000858306885 1.7209999561309814 ``` Which is completely counter-intuitive. The while-if-loop is working ever-so-slightly faster than the standard while-loop. This happens almost every time I run it; perhaps 1 in 20 times take longer. Does anyone know why?