package me.hammerle.snuviengine.util; public class Clock { private final int dataLength; private final long[] data; private int index = 0; private long sum = 0; private long time; private boolean stable = false; public Clock(int dataLength) { this.dataLength = dataLength; data = new long[dataLength]; } public void start() { time = System.nanoTime(); } public void stop() { time = System.nanoTime() - time; sum -= data[index]; sum += time; data[index] = time; index = (index + 1) % dataLength; if(index == 0) { stable = true; } } public void printTime(String m) { if(stable) { System.out.println( m + " " + (sum / dataLength)); } } }