/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.benchmark;
class BenchmarkResult implements Comparable<BenchmarkResult> {
public final Benchmark type;
public final String name;
private long time;
private long count;
BenchmarkResult(Benchmark type, String name) {
this.type = type;
this.name = name;
}
BenchmarkResult(Benchmark type, long time, long count) {
this(type, type.name);
this.time = time;
this.count = count;
}
public long getTime() {
return time;
}
public long getCount() {
return count;
}
public void update(long time, long count) {
this.time += time;
this.count += count;
}
@Override
public int compareTo(BenchmarkResult benchmarkResult) {
int cmp = type.index - benchmarkResult.type.index;
if (cmp == 0) {
long delta = this.time - benchmarkResult.time;
cmp = delta > 0 ? 1 : (delta < 0 ? -1 : 0);
}
return cmp;
}
}