blob: 6717a29b14bb4bc1feba3435ee49f433d87e9ebc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#include <sys/resource.h>
//#include <sys/time.h>
#include <time.h>
#include "timer.h"
#define TIMER_TYPE CLOCK_PROCESS_CPUTIME_ID
struct timespec start_time;
void reset_timer()
{
clock_gettime(TIMER_TYPE, &start_time);
}
double get_time()
{
struct timespec t;
clock_gettime(TIMER_TYPE, &t);
return ((double)(t.tv_sec - start_time.tv_sec) + (double)(t.tv_nsec - start_time.tv_nsec) * 1.e-9);
}
#if 0
void GetUserTime(struct timeval* time) {
struct rusage usage;
getrusage(RUSAGE_SELF, &usage);
memcpy(time, &usage.ru_utime, sizeof(*time));
}
double TimeDifference(const struct timeval * start,
const struct timeval * end) {
double start_time;
double end_time;
start_time = start->tv_sec + start->tv_usec * 1e-6;
end_time = end->tv_sec + end->tv_usec * 1e-6;
return end_time - start_time;
}
#endif
|