FileDocCategorySizeDatePackage
SystemTime.javaAPI DocApache log4j 1.2.152054Sat Aug 25 00:09:36 BST 2007org.apache.log4j.performance

SystemTime

public class SystemTime extends Object
Measures the time required to make a System.currentTimeMillis() and Thread.currentThread().getName() calls.

On an 233Mhz NT machine (JDK 1.1.7B) the System.currentTimeMillis() call takes under half a microsecond to complete whereas the Thread.currentThread().getName() call takes about 4 micro-seconds.

Fields Summary
static int
RUN_LENGTH
Constructors Summary
Methods Summary
static doublecurrentThreadNameloop()

    long before = System.currentTimeMillis();
    for(int i = 0; i < RUN_LENGTH; i++) {
      Thread.currentThread().getName();
    }
    return (System.currentTimeMillis() - before)*1000.0/RUN_LENGTH;    
  
public static voidmain(java.lang.String[] args)


  
   
         
    double t = systemCurrentTimeLoop();
    System.out.println("Average System.currentTimeMillis() call took " + t);

    t = currentThreadNameloop();
    System.out.println("Average Thread.currentThread().getName() call took " 
		       + t);
    
  
static doublesystemCurrentTimeLoop()

    long before = System.currentTimeMillis();
    for(int i = 0; i < RUN_LENGTH; i++) {
      System.currentTimeMillis();
    }
    return (System.currentTimeMillis() - before)*1000.0/RUN_LENGTH;