Почему происходит колебание времени выполнения и времени процессора, каждый раз, когда я запускаю приведенный ниже код в Netbeans. Использует ли мой процессор также каждый раз. И как мне найти использование ЦП для приведенного ниже кода.Время выполнения и временные колебания процесса
class test{
static com.sun.management.OperatingSystemMXBean mxbean = (com.sun.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
public static void main(String[] args) throws InterruptedException {
long start1 = System.currentTimeMillis();
long pstart1 = mxbean.getProcessCpuTime();
long pstart2 = TimeUnit.MILLISECONDS.convert(pstart1, TimeUnit.NANOSECONDS);
for (int i = 0; i < 10000; i++) {
System.out.println("hello");
}
long end1 = System.currentTimeMillis();
long pend1 = mxbean.getProcessCpuTime();
long pend2 = TimeUnit.MILLISECONDS.convert(pend1, TimeUnit.NANOSECONDS);
float pdif = pend2 - pstart2;
float edif = end1 - start1;
System.out.println(edif);
System.out.println(pdif);
}
}
Да, это может варьироваться в зависимости от доступности процессора для jvm –
Затем, как определить точное время выполнения и время процессора – Raj
Имеются профилирующие устройства для измерения. и обычно вы измеряете средний результат n try –