blob: 14e6b4142bbce33f75ae6e2ffd31b203b54c4e1d (
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
|
#include "../kit/time.h"
#include <stdio.h>
long long profiler_time_;
#ifdef __GNUC__
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wunused-function"
# pragma GCC diagnostic ignored "-Wunknown-pragmas"
# pragma GCC push_options
# pragma GCC optimize("O3")
#endif
void profile_frame(char const *s) {
struct timespec ts;
timespec_get(&ts, TIME_UTC);
long long t = ((long long) ts.tv_sec) * 1000 +
((long long) ts.tv_nsec) / 1000000;
if (profiler_time_ == 0)
printf("%s\n", s);
else
printf("%-19s+%lld\n", s, t - profiler_time_);
profiler_time_ = t;
}
#ifdef __GNUC__
# pragma GCC pop_options
# pragma GCC diagnostic pop
#endif
|