Login | Register   
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: Intermediate
Feb 20, 2002

Improve the Performance of Loops


Almost all Java applications require looping at some point or other. Even the slightest improvement in looping time can make a huge performance difference. Because the size of an array doesn't change while looping, there is no need to check the length every time, for example:
 
for (int i=0;i<arr.length;i++).

In fact, going through the loop counting downwards instead of upwards is faster:
 
for (int i=arr.length-1;i>=0;i —)

In JDK 1.1 and 1.2 there is minor performance difference between counting up and counting down. But with the 1.3 release, the speed difference is greater. To test this on your system and JDK, run the program below:
 
public class TimeLoop {

 public TimeLoop()
 {

int a =2;
long startTime =System.currentTimeMillis();
for (int i=0,n=Integer.MAX_VALUE;i<n;i++){
a =-a;
}
long midTime =System.currentTimeMillis();
for (int i=Integer.MAX_VALUE-1 ; i>=0 ; i--){
a =-a;
}
long endTime =System.currentTimeMillis();
System.out.println("Increasing Loop:"+(midTime -startTime));
System.out.println("Decreasing Loop:"+(endTime -midTime));

 }

public static void main (String args []){
TimeLoop t=new TimeLoop();

 }
}
Mahendra Goyal
 
Comment and Contribute

 

 

 

 

 


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

 

 

Sitemap