У меня есть два метода, которые я хотел бы профиль в NetBeansМетоды принимают в Netbeans 0 мс профилировщика
Здесь есть код
public static boolean compare1(int a,int b){
if((a-b)>10)
return true;
else
return false;
}
public static boolean compare2(int a,int b){
a = ((a&0xf00000)>>12)+((a&0xf000)>>8)+((a&0xf0)>>4);
b = ((b&0xf00000)>>12)+((b&0xf000)>>8)+((b&0xf0)>>4);
if(a==b)
return true;
else
return false;
}
Как всегда Netbeans возвращает 0 мс для обоих методов !! Я запустил профилировщик netbeans для всего проекта, и snap shot говорит, что время автономной работы каждого из этих методов составляет 0 мс.
Я вызываю эти два метода из основного, используя цикл 1000 раз. Если время выполнения настолько значительно меньше, что они не могут быть выражены в MS, есть ли способ выразить это в наносекундах? Я буду использовать эти методы миллион раз за кадр изображения, который составляет 30 миллионов раз в секунду. Мне нужно профилировать и выбирать лучший метод очень плохо.
Действительно ли разница в миллисекундах действительно важна? (ответ: нет) – Doorknob
(Боковое замечание: ваш первый метод может быть записан в одной строке 'return (a - b)> 10', и вы можете заменить' if' во втором методе 'return a == b '. –
У вас есть часы с секундной стрелкой? Не запускайте их 10^3 раза. Запустите их 10^9 раз и посмотрите, сколько секунд они берут. Это говорит вам, сколько наносекунд вызывается одним вызовом (1 мс = 10^6 нс, что, вероятно, потому, что вы видите 0ms.) Кстати, это не похоже, что эти две функции делают то же самое. –