我需要校准机器,所以我的目标是运行一个 java 程序大约 1 秒钟。所以我可以在其他机器上使用相同的程序来测量它们的运行时间并将其校准到 1 秒。
我知道 1 秒的运行时间太短了,这取决于各种因素。但我想知道你们是否有任何关于校准的想法。
我想运行一个 java 程序大约一秒钟。我希望编译器对数组执行某些标准操作。我尝试使用数组来查找偶数和奇数。
程序输出并不那么重要。运行时间只需大约 1 秒。问题在于,由于 1 秒太小,它会给出一个波动的运行时间,例如 1.25 有时或 0.678 有时。
有没有办法强制编译器只运行 1 秒而不给出很大的错误值。
PS:我不想使用 Thread.sleep(1000)。
现在,这是我正在使用的代码。正如我所说,我不关心输出和操作本身。我只需要一个运行时间为 1 秒。如果您有任何想法,请帮助我。
long[] array = new long[5000000];
int repeat = 10;
long t1 = System.currentTimeMillis();
for(int j = 0; j <=repeat; j++)
{
int even = 0, odd = 0;
for(int i=0; i<array.length; i++)
{
array[i] = i;
}
for(int i=0; i<array.length; i++)
{
if(array[i] % 2 == 0)
even++;
else
odd++;
}
}
long t2 = System.currentTimeMillis();
long t3 = t2 - t1;
System.out.println(t3*10e-4+ " sec");