All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.java.ao.benchmark.util.Report Maven / Gradle / Ivy

There is a newer version: 6.1.1
Show newest version
package net.java.ao.benchmark.util;

import java.util.List;

public final class Report {
    private String name;
    private long start;
    private long stop;
    private List laps;

    public Report(String name, long start, long stop, List laps) {
        this.name = name;
        this.start = start;
        this.stop = stop;
        this.laps = laps;
    }

    public String getName() {
        return name;
    }

    public boolean hasLaps() {
        return !laps.isEmpty();
    }

    public double getAverageTime() {
        if (!hasLaps()) {
            throw new IllegalStateException("Cannot calculate average with no laps");
        }
        return convertToMillis((stop - start) / laps.size());
    }

    public double getTotalTime() {
        return convertToMillis(stop - start);
    }

    private static double convertToMillis(double valueInNano) {
        return valueInNano / (1000 * 1000);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy