What this is
This file is included in the DevDaily.com
"Java Source Code
Warehouse" project. The intent of this project is to help you "Learn
Java by Example" TM.
Other links
The source code
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software
* License version 1.1, a copy of which has been included with this
* distribution in the LICENSE.txt file. */
package org.apache.log4j.performance;
/**
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.
*/
public class SystemTime {
static int RUN_LENGTH = 1000000;
static
public
void main(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
double systemCurrentTimeLoop() {
long before = System.currentTimeMillis();
long l;
for(int i = 0; i < RUN_LENGTH; i++) {
l = System.currentTimeMillis();
}
return (System.currentTimeMillis() - before)*1000.0/RUN_LENGTH;
}
static
double currentThreadNameloop() {
long before = System.currentTimeMillis();
String t;
for(int i = 0; i < RUN_LENGTH; i++) {
t = Thread.currentThread().getName();
}
return (System.currentTimeMillis() - before)*1000.0/RUN_LENGTH;
}
}
|