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

#include "timestamp.h"

int work(int iter)
{
    int a = 0;
    for (int foo=0; foo < iter; foo++)
        a += foo;
    return a;
}

int main(int argc, char *argv[])
{
    int outeriters = 100;
    int inneriters = 10000000;

    for (int iter=0; ; iter++) {

        ////////////////////////////////////////////////////////////////////////////////
        {
            int32_t total = 0;
            timespec_t outer_t0 = timestamp_now();
            for (int i=0; i < outeriters; i++) {

                timespec_t t0 = timestamp_now();
                int a = work(inneriters);
                timespec_t t1 = timestamp_now();

                int32_t dt = get_dt(t1, t0);
                total += dt;

                usleep(16000);
            }
            timespec_t outer_t1 = timestamp_now();

            int32_t outer_dt = get_dt(outer_t1, outer_t0);
            printf("A: %3.1fs in total. %8.3fms on average.\n",
                   outer_dt * 1.0E-6,
                   total / outeriters * 1.0E-3);
        }
    }
}
