12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- 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));
- }
- }
- }
|