QTime timeer ;timeer.start();timeer.elapsed();//микро секундыdouble mtime(){ struct timeval t; gettimeofday(&t, NULL); double mt=(double)t.tv_sec*1000000+t.tv_usec;}//наносекундыdouble mtime2(){ struct timespec t; clock_gettime(CLOCK_REALTIME, &t); double mt = (double)t.tv_sec * 1000000000 + t.tv_nsec; return mt;}//допустим функция производящая вычисленияvoid function(){.........code............};//////////////////QTime timeer; timeer.start();double times=mtime();double times2=mtime2();function();times=mtime()-times;times2=mtime2()-times2;double fimes3=timeer.elapsed();/////////////////
C++ (Qt)QTime timer;timer.start(); for (int i = 0; i < 1000000; i++) { function();} qDebug() << "Elapsed:" << timer.elapsed();
#include <windows.h> int main(){ LARGE_INTEGER freq; LARGE_INTEGER t1; LARGE_INTEGER t2; if(QueryPerformanceFrequency(&freq)) { QueryPerformanceCounter(&t1); //...Профилируемый код... QueryPerformanceCounter(&t2); double dt = t2.QuadPart - t1.QuadPart; double elapsed_time = 1000 * dt / freq.QuadPart; // время выполнения в миллисекундах... } else { // ОШИБКА!!! Счетчик монитора производительности не поддерживается системой... } return 0;}
#include < stdio.h > //Для printf#include < time.h > //Для clock_gettimeint main (void){ //Структуры для сохранения определенного времени struct timespec mt1, mt2; //Переменная для расчета дельты времени long int tt; //Определяем текущее время clock_gettime (CLOCK_REALTIME, &mt1); //Выводим определенное время на экран консоли printf (“Секунды: %ld\n”,mt1.tv_sec); printf (“Наносекунды: %ld\n”,mt1.tv_nsec); //Определяем текущее время clock_gettime (CLOCK_REALTIME, &mt2); //Рассчитываем разницу времени между двумя измерениями tt=1000000000*(mt2.tv_sec - mt1.tv_sec)+(mt2.tv_nsec - mt1.tv_nsec); //Выводим результат расчета на экран printf (“Затрачено время: %ld нс\n”,tt); return 0;}