Пытаюсь вычислить время исполнения программой некоторого участка кода в милисекундах.
struct timespec now;
clock_gettime(CLOCK_REALTIME, &now);
long int time1 = now.tv_nsec/1000000;
...
clock_gettime(CLOCK_REALTIME, &now);
long int time2 = now.tv_nsec/1000000;
std::cout << (time2-time1) << ' ' << std::flush;
вижу отрицательно время
-342 -455 ...
Что не так?
P.S. хотя в time.h tv_nsec типа long int, кроме того без деления на мильён тоже чиcла тоже негативные.
/* POSIX.1b structure for a time value. This is like a `struct timeval' but has nanoseconds instead of microseconds. */
//struct timespec
// {
// __time_t tv_sec; /* Seconds. */
// long int tv_nsec; /* Nanoseconds. */
// };
:w
Форум —
Development



