У меня есть этот код, который тестирует Calendar.getInstance().getTimeInMillis()
vs System.currentTimeMilli()
:
long before = getTimeInMilli();
for (int i = 0; i < TIMES_TO_ITERATE; i++)
{
long before1 = getTimeInMilli();
doSomeReallyHardWork();
long after1 = getTimeInMilli();
}
long after = getTimeInMilli();
System.out.println(getClass().getSimpleName() + " total is " + (after - before));
Я хочу убедиться, что оптимизация JVM или компилятора не выполняется, поэтому тест будет действительным и на самом деле будет показывать разницу.
Как быть уверенным?
EDIT: я изменил пример кода, чтобы он стал более понятным. Здесь я проверяю, сколько времени требуется для вызова getTimeInMilli() в разных реализациях - Calendar vs System.