Class Benchmark
- java.lang.Object
-
- org.codehaus.commons.compiler.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 callingend()
whichs returns the time elapsed since the call tobegin()
.Notice that calls to
begin()
andend()
can be nested, and each call toend()
refers to the matchingbegin()
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()
andendReporting()
do basically the same, but report the benchmarking information through an internalBenchmark.Reporter
object. The defaultBenchmark.Reporter
prints its messages bySystem.out.println()
.Reporting is only enabled if the Benchmark object was created through
Benchmark(boolean)
with atrue
argument.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
Benchmark.Reporter
Interface used to report messages.
-
Constructor Summary
Constructors Constructor Description Benchmark(boolean reportingEnabled)
Benchmark(boolean reportingEnabled, Benchmark.Reporter reporter)
Sets up aBenchmark
with a customBenchmark.Reporter
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
begin()
void
beginReporting()
Begins a benchmark (seebegin()
) and report the fact.void
beginReporting(java.lang.String message)
Begins a benchmark (seebegin()
) and report the fact.long
end()
void
endReporting()
End a benchmark (seeend()
) and report the fact.void
endReporting(java.lang.String message)
Ends a benchmark (seebegin()
) and report the fact.void
report(java.lang.String message)
Reports the given message.void
report(java.lang.String title, java.lang.Object o)
Reports thetitle
, a colon, a space, and the pretty-printedObject
.
-
-
-
Constructor Detail
-
Benchmark
public Benchmark(boolean reportingEnabled)
-
Benchmark
public Benchmark(boolean reportingEnabled, Benchmark.Reporter reporter)
Sets up aBenchmark
with a customBenchmark.Reporter
.
-
-
Method Detail
-
begin
public void begin()
- See Also:
Benchmark
-
end
public long end()
- See Also:
Benchmark
-
beginReporting
public void beginReporting()
Begins a benchmark (seebegin()
) and report the fact.
-
beginReporting
public void beginReporting(java.lang.String message)
Begins a benchmark (seebegin()
) and report the fact.
-
endReporting
public void endReporting()
End a benchmark (seeend()
) and report the fact.
-
endReporting
public void endReporting(java.lang.String message)
Ends a benchmark (seebegin()
) and report the fact.
-
report
public void report(java.lang.String message)
Reports the given message.
-
-