#include <time.h>
#include <stdio.h>
#include <stdlib.h>

#define PG_INSTR_CLOCK  CLOCK_MONOTONIC
#define NS_PER_S   1000000000L

static inline long int
pg_clock_gettime_ns(void)
{
    long int      now;
    struct timespec tmp;

    clock_gettime(PG_INSTR_CLOCK, &tmp);
    now = tmp.tv_sec * NS_PER_S + tmp.tv_nsec;
    return now;
}

int main(int argc, char *argv[])
{
     long int t1, t2;
     long int r = 0;
     int n = (argc > 1) ? atol(argv[1]) : 0;

     t1 = pg_clock_gettime_ns();

     for (long int i = 0; i < n; i++) r += i;

     t2 = pg_clock_gettime_ns();

     printf("t1: %ld, t2: %ld, t2 - t1: %ld (r: %ld)\n ", t1, t2, t2 - t1, r);

     if (t2 - t1 == 0) return 1;
     return 0;
}
