Hi, I have two for loops, for(int i = 0; i < 10000, i++) and for(int i = 10000, i>=0; i--) Which one is faster and why? This was asked to me in some interview, and i could not answer. I searched through the Net, but not getting any answer. Can anybody help me to understand the correct answer of this. Thanks in advance.
Originally posted by satya sahu: Hi, I have two for loops, for(int i = 0; i < 10000, i++) and for(int i = 10000, i>=0; i--) Which one has more iterations in and why?
Note the slight change I have made to that quote.
The correct answer to your actual question is "don't know, don't care." You program for correctness and if you want to iterate one direction you use one loop and for the other direction you use the other, conveniently ignoring the fact that one of those loops might (in a very sensitive situation) cause an Exception to be thrown. You make performance your lowest priority.
There was a thread about 2 years ago about "is repeated i++ faster than repeated i--" which you might find in a search; I tried out a simple application to test that suggestion and I can't remember which was faster. But I can remember it was only slightly faster and occasionally the other operation was faster. So not only is performance a low priority, it is also unpredictable and variable.
The first time a for loop is encountered it takes a large time (making the ++ loop execute earlier than the -- loop produces a similar result). But for the rest of the runs, there seems to be no difference between both the approaches.