// Measuring execution time using System.nanoTime()
public class MeasureTimeNano {
// A sample function to measure
static void work() {
long sum = 0;
for (long i = 0; i < 100_000_000L; i++) {
sum += i;
}
}
public static void main(String[] args) {
// Record start time in nanoseconds
long start = System.nanoTime();
work();
// Record end time
long end = System.nanoTime();
long elapsedNano = end - start;
double elapsedMillis = elapsedNano / 1_000_000.0;
double elapsedSeconds = elapsedNano / 1_000_000_000.0;
System.out.println("Execution time: " + elapsedMillis + " ms");
System.out.println("Execution time: " + elapsedSeconds + " seconds");
}
}
/*
run:
Execution time: 487.925809 ms
Execution time: 0.487925809 seconds
*/