org.codehaus.janino.util
Class Benchmark

java.lang.Object
  extended by org.codehaus.janino.util.Benchmark

public class Benchmark
extends java.lang.Object

Implements a scheme for benchmarking, i.e. for determining and/or reporting the time elapsed between the beginning and the end of an activity.

The measurement is done by invoking begin() and later calling end() whichs returns the time elapsed since the call to begin().

Notice that calls to begin() and end() can be nested, and each call to end() refers to the matching begin() call. To ensure that all calls match, the preferred way to write a benchmark is

 ...
 Benchmark b = new Benchmark();
 ...
 b.begin();
 try {
     ....
 } finally {
     long ms = b.end();
 }
 
This code layout also makes it visually easy to write correct pairs of begin() / end() pairs.

The pair beginReporting() and endReporting() do basically the same, but report the benchmarking information through an internal Benchmark.Reporter object. The default Benchmark.Reporter prints its messages by System.out.println().

Reporting is only enabled if the Benchmark object was created through Benchmark(boolean) with a true argument.


Nested Class Summary
static interface Benchmark.Reporter
          Interface used to report messages.
 
Constructor Summary
Benchmark()
           
Benchmark(boolean reportingEnabled)
          Set up a Benchmark with a default Benchmark.Reporter that reports to System.out.
Benchmark(boolean reportingEnabled, Benchmark.Reporter reporter)
          Set up a Benchmark with a custom Benchmark.Reporter.
 
Method Summary
 void begin()
           
 void beginReporting()
          Begin a benchmark (see begin()) and report the fact.
 void beginReporting(java.lang.String message)
          Begin a benchmark (see begin()) and report the fact.
 long end()
           
 void endReporting()
          End a benchmark (see end()) and report the fact.
 void endReporting(java.lang.String message)
          End a benchmark (see begin()) and report the fact.
 void report(java.lang.String message)
          Report the given message.
 void report(java.lang.String optionalTitle, java.lang.Object o)
          Report the title, a colon, a space, and the pretty-printed Object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Benchmark

public Benchmark()

Benchmark

public Benchmark(boolean reportingEnabled)
Set up a Benchmark with a default Benchmark.Reporter that reports to System.out.


Benchmark

public Benchmark(boolean reportingEnabled,
                 Benchmark.Reporter reporter)
Set up a Benchmark with a custom Benchmark.Reporter.

Method Detail

begin

public void begin()
See Also:
Benchmark

end

public long end()
See Also:
Benchmark

beginReporting

public void beginReporting()
Begin a benchmark (see begin()) and report the fact.


beginReporting

public void beginReporting(java.lang.String message)
Begin a benchmark (see begin()) and report the fact.


endReporting

public void endReporting()
End a benchmark (see end()) and report the fact.


endReporting

public void endReporting(java.lang.String message)
End a benchmark (see begin()) and report the fact.


report

public void report(java.lang.String message)
Report the given message.


report

public void report(java.lang.String optionalTitle,
                   java.lang.Object o)
Report the title, a colon, a space, and the pretty-printed Object.

Parameters:
optionalTitle -
o -


Copyright © 2001-2012. All Rights Reserved.