【发布时间】:2012-10-25 05:48:27
【问题描述】:
我有一个简单的java程序,我想知道一些操作之间的时间差。对于这个问题,细节并不重要,但让我们看下面的场景。
long beginTime = System.currentTimeMillis();
//Some operations. Let us asssume some database operations etc. which are time consuming.
//
long endTime = System.currentTimeMillis();
long difference = endTime - beginTime;
当代码在机器上运行时,差异会有多可靠?
假设处理器开始执行我的代码中的一些指令,然后将上下文提供给另一个进程,该进程执行一段时间,然后返回执行与此 java 进程相关的指令。
所以,时间差应该取决于我机器的当前状态,即有多少进程正在运行等?那么,在一些操作运行的分析时间里,这种机制不可靠吗?
【问题讨论】:
-
执行 3-4 次操作并将结果取平均值应该会给您一个公平的估计。