Sha256: 1f8d49985ef54ad6460df5961a949e747b533339927894b3142ea2b09d40e143

Contents?: true

Size: 1.3 KB

Versions: 6

Compression:

Stored size: 1.3 KB

Contents

package org.sunflow.system;

public class Timer {

    private long startTime, endTime;

    public Timer() {
        startTime = endTime = 0;
    }

    public void start() {
        startTime = endTime = System.nanoTime();
    }

    public void end() {
        endTime = System.nanoTime();
    }

    public long nanos() {
        return endTime - startTime;
    }

    public double seconds() {
        return (endTime - startTime) * 1e-9;
    }

    public static String toString(long nanos) {
        Timer t = new Timer();
        t.endTime = nanos;
        return t.toString();
    }

    public static String toString(double seconds) {
        Timer t = new Timer();
        t.endTime = (long) (seconds * 1e9);
        return t.toString();
    }

    @Override
    public String toString() {
        long millis = nanos() / (1000 * 1000);
        if (millis < 10000) {
            return String.format("%dms", millis);
        }
        long hours = millis / (60 * 60 * 1000);
        millis -= hours * 60 * 60 * 1000;
        long minutes = millis / (60 * 1000);
        millis -= minutes * 60 * 1000;
        long seconds = millis / 1000;
        millis -= seconds * 1000;
        return String.format("%d:%02d:%02d.%1d", hours, minutes, seconds, millis / 100);
    }
}

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
joonsrenderer-1.3.1-java src/main/java/org/sunflow/system/Timer.java
joonsrenderer-1.2.0-java src/main/java/org/sunflow/system/Timer.java
joonsrenderer-1.1.3-java src/main/java/org/sunflow/system/Timer.java
joonsrenderer-1.1.2-java src/main/java/org/sunflow/system/Timer.java
joonsrenderer-1.1.1-java src/main/java/org/sunflow/system/Timer.java
joonsrenderer-1.1-java src/main/java/org/sunflow/system/Timer.java