+#if HAVE_CLOCK_GETTIME
+static double dtime(void) /* {{{ */
+{
+ struct timespec ts = {0};
+
+ if (clock_gettime(CLOCK_MONOTONIC, &ts) != 0)
+ perror("clock_gettime");
+
+ return ((double)ts.tv_sec) + (((double)ts.tv_nsec) / 1e9);
+} /* }}} double dtime */
+#else
+/* Work around for Mac OS X which doesn't have clock_gettime(2). *sigh* */
+static double dtime(void) /* {{{ */
+{
+ struct timeval tv = {0};
+
+ if (gettimeofday(&tv, /* timezone = */ NULL) != 0)
+ perror("gettimeofday");
+
+ return ((double)tv.tv_sec) + (((double)tv.tv_usec) / 1e6);
+} /* }}} double dtime */
+#endif
+
+static int compare_time(const void *v0, const void *v1) /* {{{ */