Одним из способов определения времени операции является получение среднего значения с помощью nanoTime (). Возможно, вы захотите настроить количество итераций, и вы получите меньшее отклонение от среднего.nanoTime лучше, чем currentTimeMillis, в том смысле, что он более точный и монотонно растущий (он не вернется назад во время работы приложения)
long start = System.nanoTime();
int runs = 1000*1000;
for(int i=0;i<runs;i++) {
// do test
}
long time = System.nanoTime() - start;
System.out.printf("The average time taken was %.1f ns%n", (double) time / runs);
Использование printf позволяет форматировать результат.Вы можете разделить на 1000, чтобы получить микросекунды или 1000000 для микросекунд.