|
| 1. Introduction | |
| 2. Example | |
| 3. the err object |
It is sometimes of interesdt to be able to time the duratuion of algorithm by including in the code a call to the system clock prior to commencement (time1) and imeediatley on completion (time2) duration can then be calculated bu subtracting time 1 from time 2. Thus
time1 = access system clock Run algorithm time2 = access system clock duration = time2-time1
The class System has a method currentTimeMillis which returns (as a long integer) the current time in milliseconds. This can thus usefully be employed to determine the "rum time" of algorithms.
In Table 1 we present an implementation of the above (timing the initilisation of a sequence of different sizes of array in steps of 10000). Some output is presented in Table 2 (predictivly the increase in diration is linear).
// Timing Experiment
// Frans Coenen
// 21 May 2000
// Dept Computer Science, University of Liverpool
class TimingExp {
/* MAIN */
public static void main(java.lang.String [] args) {
long time1, time2, duration;
int[] intArray = null;
int counter;
for (int index = 10000;index <= 100000;index=index+10000) {
time1 = System.currentTimeMillis();
intArray = new int[index];
for (counter=0;counter < index;counter++) intArray[counter] =
counter;
time2 = System.currentTimeMillis();
duration = difference(time1,time2);
System.out.println("Array size = " + index + " duration = " + duration);
}
}
/* DIFFERENCE */
public static long difference(long tm1, long tm2) {
return((tm2-tm1));
}
}
|
Table 1:Example method
$ java TimingExp Array size = 10000 duration = 6 Array size = 20000 duration = 11 Array size = 30000 duration = 17 Array size = 40000 duration = 23 Array size = 50000 duration = 29 Array size = 60000 duration = 47 Array size = 70000 duration = 52 Array size = 80000 duration = 59 Array size = 90000 duration = 64 Array size = 100000 duration = 72 |
Table 2:Output from example code presented in Table 1
The err object is a PrintStream object describing the "standard error output stream". It is used in the same way as the out object:
System.err.print("ERROR 1: ");
System.err.println("Undefined error.");
Created and maintained by Frans Coenen. Last updated 19 January 2001