Mercurial > hg > Gears > GearsAgda
view src/parallel_execution/TimeImpl.cbc @ 462:8d7e5d48cad3
Running CPU examples
author | Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 20 Dec 2017 22:05:08 +0900 |
parents | 57132ef16009 |
children |
line wrap: on
line source
#include <stdio.h> #include <sys/time.h> #include "../context.h" #include "Time.h" Time* createTimeImpl(struct Context* context) { struct Time* time = new 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(...); }