1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-11-29 18:27:37 +01:00

(gettime): Go back to gettimeofday(). clock_gettime() requires

librt which requires libpthread, which slows everything
	down.

(Logical change 1.197)
This commit is contained in:
mostang.com!davidm 2004-03-31 01:53:04 +00:00
parent 69052ef3ea
commit e3eae74698

View file

@ -48,10 +48,10 @@ static char big[64*MB]; /* should be >> max. cache size */
static inline double static inline double
gettime (void) gettime (void)
{ {
struct timespec ts; struct timeval tv;
clock_gettime(CLOCK_REALTIME, &ts); gettimeofday (&tv, NULL);
return ts.tv_sec + 1e-9*ts.tv_nsec; return tv.tv_sec + 1e-6*tv.tv_usec;
} }
static int static int
@ -137,7 +137,7 @@ static void
measure_init (void) measure_init (void)
{ {
# define N 100 # define N 100
# define M 10 /* must be at least 2 to get steady-state */ # define M 1000000 /* must be at least 2 to get steady-state */
double stop, start, get_cold, get_warm, init_cold, init_warm, delta; double stop, start, get_cold, get_warm, init_cold, init_warm, delta;
struct struct
{ {
@ -153,6 +153,7 @@ measure_init (void)
uc[N]; uc[N];
int i, j; int i, j;
#if 0
/* Run each test M times and take the minimum to filter out noise /* Run each test M times and take the minimum to filter out noise
such dynamic linker resolving overhead, context-switches, such dynamic linker resolving overhead, context-switches,
page-in, cache, and TLB effects. */ page-in, cache, and TLB effects. */
@ -198,6 +199,9 @@ measure_init (void)
if (delta < get_warm) if (delta < get_warm)
get_warm = delta; get_warm = delta;
} }
#else
unw_getcontext (&uc[0].uc);
#endif
init_warm = 1e99; init_warm = 1e99;
for (j = 0; j < M; ++j) for (j = 0; j < M; ++j)
@ -215,6 +219,7 @@ measure_init (void)
1e9 * get_cold, 1e9 * get_warm); 1e9 * get_cold, 1e9 * get_warm);
printf ("unw_init_local : cold avg=%9.3f nsec, warm avg=%9.3f nsec\n", printf ("unw_init_local : cold avg=%9.3f nsec, warm avg=%9.3f nsec\n",
1e9 * init_cold, 1e9 * init_warm); 1e9 * init_cold, 1e9 * init_warm);
exit (0);
} }
int int