/**
    Mierzy rozdzielczość zegara System.currentTimeMillis().
*/
public class GranularityTest {

    public static final int NUM_SAMPLES = 100;

    public static void main(String[] args) {
        long sum = 0;
        int count = 0;

        long lastTime = System.currentTimeMillis();
        while (count < NUM_SAMPLES) {
            long currTime = System.currentTimeMillis();

            // jeżeli czas się zmienił, zapisz różnicę
            if (currTime > lastTime) {
                long granularity = currTime - lastTime;
                // zapamiętuj narastającą sumę rozdzielczości
                sum+=granularity;
                count++;
                lastTime = currTime;
            }
        }

        // wyświetlenie wyników
        System.out.println("Średnia rozdzielczość zegara " +
            "System.currentTimeMillis(): " + ((float)sum / count));
    }
}
