我更喜欢尽可能少的正式定义和简单的数学.
algorithm complexity-theory big-o computer-science time-complexity
我有这个代码正在测试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));
Run Code Online (Sandbox Code Playgroud)
我想确保没有JVM或编译器优化发生,因此测试将是有效的并且实际上会显示出差异.
怎么样?
编辑:我改变了代码示例,以便更清楚.我在这里检查的是在不同的实现中调用getTimeInMilli()需要多长时间 - Calendar vs System.