Я бегу QNX,получение времени из тактов
Я использовал функцию для получения тактовых циклов в секунду,
uint64_t clockPerSec = getCPS();
uint64_t currentClockCycle = getCurrentCycle();
функции
uint64_t getCPS()
{
return (~(uint64_t)0) /SYSPAGE_ENTRY(qtime) -> cycles_per_sec;
}
uint63_t getCurrentCycle()
{
return ClockCycles();
}
затем после запуска функции
Я
currentClockCycle = getCurrentCycle() - currentClockCycle;
Я не использую его во всех приложениях, поэтому у меня нет перерасхода/переполнения часов, просто для измерения производительности одной функции после некоторых дополнений/изменений.
в любом случае, Мне просто интересно, получаю ли я правильный выход.
Я вычислил результат таким образом,
double result = static_cast<double>(clockPerSec)/currentClockCycle;
// this get me the time in second??
// then multiplied it by 1000000 to get a micro-sec measurement
я делаю что-то неправильно?
при использовании
ftime(&t_start);
затем
ftime(&t_end);
и выход разница таким образом, я вижу, что время я получаю больше, почти в два раза
первый метод я получаю 0,6 мс второй с использованием ftime Я получаю результат 1.xx ms