Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Java
Expertise: Beginner
Apr 22, 1999

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.
Brett Spell
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap