Improve Loop Performance

It’s often the case that you’ll use some derived value in the test section of a for loop. Many times this value will not be changed during the loop, such as in this example:

 Vector stuff;stuff.addElement("First");stuff.addElement("Second");...for (int i = 0; i < stuff.size(); i++) {	System.out.println(stuff.elementAt(i));}  //  for (int i = 0; i < stuff.size; i++)

In this case, the derived value is the number of elements in the vector that is returned by the call to size(). While this code will work, it's not terribly efficient, since it calls the size() method for each iteration of the loop. In this trivial example, the performance penalty is insignificant. However, if you expect to have a large number of iterations and the loop is in an area of code where performance is important, it may be desirable to make the loop more efficient. Fortunately, you can speed up its execution by making a minor change that will cause the test value to be obtained only once.

 int count = stuff.size();for (int i = 0; i < count; i++) {	System.out.println(stuff.elementAt(i));}  //  for (int i = 0; i < count; i++)

Since this code only results in a single call to the vector's size() method, it will perform much more efficiently than the initial implementation. In a section of code where performance is critical, it can help make your Java code execute faster.

Share the Post:
Share on facebook
Share on twitter
Share on linkedin


Recent Articles: