text: #include <mach/mach.h>
  #include <mach/mach_time.h>
  #include <dispatch/dispatch.h>
  #include <dispatch/private.h>
  #include <stdio.h>
  #include <stdlib.h>
  #include <assert.h>
  
  int
  main(void)
  {
  	long double nano_per_lap;
  	size_t i, cnt = 1000000;
  	dispatch_future_t *df;
  	uint64_t s, e;
  
  	df = malloc(cnt * sizeof(df));
  	assert(df);
  
  	s = mach_absolute_time();
  
  	for (i = 0; i < cnt; i++) {
  		df[i] = dispatch_fork(dispatch_get_concurrent_queue(0), ^{
  		});
  		assert(df[i]);
  	}
  
  	for (i = 0; i < cnt; i++) {
  		dispatch_join(df[i]);
  	}
  
  	e = mach_absolute_time();
  
  	nano_per_lap = (e - s);
  	nano_per_lap /= cnt;
  
  	printf("%Lf nanoseconds per lap\n", nano_per_lap);
  
  	return 0;
  }
  