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