diff options
Diffstat (limited to 'tests/lib/test_timer_performance.c')
| -rw-r--r-- | tests/lib/test_timer_performance.c | 116 | 
1 files changed, 57 insertions, 59 deletions
diff --git a/tests/lib/test_timer_performance.c b/tests/lib/test_timer_performance.c index a7d09beecc..f3878532c4 100644 --- a/tests/lib/test_timer_performance.c +++ b/tests/lib/test_timer_performance.c @@ -39,67 +39,65 @@ struct thread_master *master;  static int dummy_func(struct thread *thread)  { -  return 0; +	return 0;  }  int main(int argc, char **argv)  { -  struct prng *prng; -  int i; -  struct thread **timers; -  struct timeval tv_start, tv_lap, tv_stop; -  unsigned long t_schedule, t_remove; - -  master = thread_master_create(); -  prng = prng_new(0); -  timers = calloc(SCHEDULE_TIMERS, sizeof(*timers)); - -  /* create thread structures so they won't be allocated during the -   * time measurement */ -  for (i = 0; i < SCHEDULE_TIMERS; i++) -    timers[i] = thread_add_timer_msec(master, dummy_func, NULL, 0); -  for (i = 0; i < SCHEDULE_TIMERS; i++) -    thread_cancel(timers[i]); - -  monotime(&tv_start); - -  for (i = 0; i < SCHEDULE_TIMERS; i++) -    { -      long interval_msec; - -      interval_msec = prng_rand(prng) % (100 * SCHEDULE_TIMERS); -      timers[i] = thread_add_timer_msec(master, dummy_func, -                                        NULL, interval_msec); -    } - -  monotime(&tv_lap); - -  for (i = 0; i < REMOVE_TIMERS; i++) -    { -      int index; - -      index = prng_rand(prng) % SCHEDULE_TIMERS; -      if (timers[index]) -        thread_cancel(timers[index]); -      timers[index] = NULL; -    } - -  monotime(&tv_stop); - -  t_schedule = 1000 * (tv_lap.tv_sec - tv_start.tv_sec); -  t_schedule += (tv_lap.tv_usec - tv_start.tv_usec) / 1000; - -  t_remove = 1000 * (tv_stop.tv_sec - tv_lap.tv_sec); -  t_remove += (tv_stop.tv_usec - tv_lap.tv_usec) / 1000; - -  printf("Scheduling %d random timers took %ld.%03ld seconds.\n", -         SCHEDULE_TIMERS, t_schedule/1000, t_schedule%1000); -  printf("Removing %d random timers took %ld.%03ld seconds.\n", -         REMOVE_TIMERS, t_remove/1000, t_remove%1000); -  fflush(stdout); - -  free(timers); -  thread_master_free(master); -  prng_free(prng); -  return 0; +	struct prng *prng; +	int i; +	struct thread **timers; +	struct timeval tv_start, tv_lap, tv_stop; +	unsigned long t_schedule, t_remove; + +	master = thread_master_create(); +	prng = prng_new(0); +	timers = calloc(SCHEDULE_TIMERS, sizeof(*timers)); + +	/* create thread structures so they won't be allocated during the +	 * time measurement */ +	for (i = 0; i < SCHEDULE_TIMERS; i++) +		timers[i] = thread_add_timer_msec(master, dummy_func, NULL, 0); +	for (i = 0; i < SCHEDULE_TIMERS; i++) +		thread_cancel(timers[i]); + +	monotime(&tv_start); + +	for (i = 0; i < SCHEDULE_TIMERS; i++) { +		long interval_msec; + +		interval_msec = prng_rand(prng) % (100 * SCHEDULE_TIMERS); +		timers[i] = thread_add_timer_msec(master, dummy_func, NULL, +						  interval_msec); +	} + +	monotime(&tv_lap); + +	for (i = 0; i < REMOVE_TIMERS; i++) { +		int index; + +		index = prng_rand(prng) % SCHEDULE_TIMERS; +		if (timers[index]) +			thread_cancel(timers[index]); +		timers[index] = NULL; +	} + +	monotime(&tv_stop); + +	t_schedule = 1000 * (tv_lap.tv_sec - tv_start.tv_sec); +	t_schedule += (tv_lap.tv_usec - tv_start.tv_usec) / 1000; + +	t_remove = 1000 * (tv_stop.tv_sec - tv_lap.tv_sec); +	t_remove += (tv_stop.tv_usec - tv_lap.tv_usec) / 1000; + +	printf("Scheduling %d random timers took %ld.%03ld seconds.\n", +	       SCHEDULE_TIMERS, t_schedule / 1000, t_schedule % 1000); +	printf("Removing %d random timers took %ld.%03ld seconds.\n", +	       REMOVE_TIMERS, t_remove / 1000, t_remove % 1000); +	fflush(stdout); + +	free(timers); +	thread_master_free(master); +	prng_free(prng); +	return 0;  }  | 
