2011-06-02
today's wtf
long min = Integer.MAX_VALUE; long max = Integer.MIN_VALUE;
(discovered in my own code)
and when we do
min = Math.min(min, newValue) where newValue = System.nanoTime() - startedNano, that's where a fuckup is happening.We are out of the 32bit range.
Entry tags:
I love Java too
public class TimeStats extends Stats {
private static final double MS = 0.000001;
private long startedNano;
public void start() {
startedNano = System.nanoTime();
}
public void finish() {
add(System.nanoTime() - startedNano);
}
public String millis(double nano) {
return MS * nano + "ms";
}
public String toString() {
return "min: " + millis(min) + ", max:" + millis(max) + ", avg:" + millis(average());
}
}