Files
@ a2bfd792a202
Branch filter:
Location: CSY/reowolf/examples/bench_04/main.c - annotation
a2bfd792a202
1.0 KiB
text/x-csrc
Implement and test explicit forking in runtime
da83a41b2450 da83a41b2450 da83a41b2450 da83a41b2450 da83a41b2450 da83a41b2450 da83a41b2450 da83a41b2450 da83a41b2450 da83a41b2450 2982ea49738a da83a41b2450 da83a41b2450 da83a41b2450 da83a41b2450 da83a41b2450 da83a41b2450 d5c0b4fdc19b d5c0b4fdc19b da83a41b2450 da83a41b2450 da83a41b2450 da83a41b2450 da83a41b2450 da83a41b2450 da83a41b2450 da83a41b2450 da83a41b2450 da83a41b2450 da83a41b2450 da83a41b2450 da83a41b2450 da83a41b2450 | #include <time.h>
#include "../../reowolf.h"
#include "../utility.c"
int main(int argc, char** argv) {
int i, proto_components;
proto_components = atoi(argv[1]);
printf("proto_components: %d\n", proto_components);
const unsigned char pdl[] =
"primitive trivial_loop() { "
" while(true) sync {}"
"} "
;
Arc_ProtocolDescription * pd = protocol_description_parse(pdl, sizeof(pdl)-1);
char logpath[] = "./bench_4.txt";
Connector * c = connector_new_logging(pd, logpath, sizeof(logpath)-1);
for (i=0; i<proto_components; i++) {
char ident[] = "trivial_loop";
connector_add_component(c, ident, sizeof(ident)-1, NULL, 0);
printf("Error str `%s`\n", reowolf_error_peek(NULL));
}
connector_connect(c, -1);
printf("Error str `%s`\n", reowolf_error_peek(NULL));
clock_t begin = clock();
for (i=0; i<1000000; i++) {
connector_sync(c, -1);
}
clock_t end = clock();
double time_spent = (double)(end - begin) / CLOCKS_PER_SEC;
printf("Time taken: %f\n", time_spent);
return 0;
}
|