view src/parallel_execution/TimeImpl.cbc @ 382:f1d111e293c4

Enable Timer for bitonicSort
author Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
date Mon, 24 Jul 2017 20:05:08 +0900
parents a0a3301bac4d
children 57132ef16009
line wrap: on
line source

#include <stdio.h>
#include <sys/time.h>

#include "../context.h"

Time* createTimeImpl(struct Context* context) {
    struct Time* time = &ALLOCATE_DATA_GEAR(context, Time)->Time;
    struct TimeImpl* timeImpl = new TimeImpl();
    time->time = (union Data*)timeImpl;
    time->start = C_startTime;
    time->end = C_endTime;
    return time;
}

__code startTime(struct TimeImpl* time, __code next(...)) {
    struct timeval tv;
    gettimeofday(&tv, NULL);

    time->time = tv.tv_sec + (double)tv.tv_usec*1e-6;

    goto next(...);
}

__code endTime(struct TimeImpl* time, __code next(...)) {
    struct timeval tv;
    gettimeofday(&tv, NULL);

    printf("%0.6f\n", (tv.tv_sec+(double)tv.tv_usec*1e-6) - time->time);

    goto next(...);
}