diff --git a/examples/bench_23/main.c b/examples/bench_23/main.c deleted file mode 100644 index b27273f1b5bf4e100d76777f425c82e6ad8ae545..0000000000000000000000000000000000000000 --- a/examples/bench_23/main.c +++ /dev/null @@ -1,122 +0,0 @@ -#include -#include "../../reowolf.h" -#include "../utility.c" -int main(int argc, char** argv) { - int i; - - // unsigned char pdl[] = "\ - // primitive xrouter(in a, out b, out c) {\ - // while(true) sync {\ - // if(fires(a)) {\ - // if(fires(b)) put(b, get(a));\ - // else put(c, get(a));\ - // }\ - // }\ - // }" - // ; - unsigned char pdl[] = "\ - primitive lossy(in a, out b) {\ - while(true) sync {\ - if(fires(a)) {\ - msg m = get(a);\ - if(fires(b)) put(b, m);\ - }\ - }\ - }\ - primitive sync_drain(in a, in b) {\ - while(true) sync {\ - if(fires(a)) {\ - get(a);\ - get(b);\ - }\ - }\ - }\ - composite xrouter(in a, out b, out c) {\ - channel d -> e;\ - channel f -> g;\ - channel h -> i;\ - channel j -> k;\ - channel l -> m;\ - channel n -> o;\ - channel p -> q;\ - channel r -> s;\ - channel t -> u;\ - new replicator(a, d, f);\ - new replicator(g, t, h);\ - new lossy(e, l);\ - new lossy(i, j);\ - new replicator(m, b, p);\ - new replicator(k, n, c);\ - new merger(q, o, r);\ - new sync_drain(u, s);\ - }" - ; - Arc_ProtocolDescription * pd = protocol_description_parse(pdl, sizeof(pdl)-1); - Connector * c = connector_new_with_id(pd, 0); - printf("Error str `%s`\n", reowolf_error_peek(NULL)); - - PortId ports[6]; - for(i=0; i<3; i++) { - connector_add_port_pair(c, &ports[2*i], &ports[2*i+1]); - } - // [native~~~~~~~~~~] - // 0 1 2 3 4 5 - // | ^ | ^ | ^ - // `--` `--` `--` - char ident[] = "xrouter"; - connector_add_component( - c, - ident, - sizeof(ident)-1, - (PortId[]) { ports[1], ports[2], ports[4] }, - 3); - printf("Error str `%s`\n", reowolf_error_peek(NULL)); - - // [native~~~~~~~~~~] - // 0 3 5 - // V ^ ^ - // 1 2 4 - // [xrouter~~~~~~~~~] - connector_connect(c, -1); - printf("Connect OK!\n"); - - int msg_len = 1000; - char * msg = malloc(msg_len); - memset(msg, 42, msg_len); - - { - clock_t begin = clock(); - for (i=0; i<100000; i++) { - connector_put_bytes(c, ports[0], msg, msg_len); - connector_get(c, ports[3]); - connector_sync(c, -1); - } - clock_t end = clock(); - double time_spent = (double)(end - begin) / CLOCKS_PER_SEC; - printf("First: %f\n", time_spent); - } - { - clock_t begin = clock(); - for (i=0; i<100000; i++) { - connector_put_bytes(c, ports[0], msg, msg_len); - connector_get(c, ports[5]); - connector_sync(c, -1); - } - clock_t end = clock(); - double time_spent = (double)(end - begin) / CLOCKS_PER_SEC; - printf("Second: %f\n", time_spent); - } - { - clock_t begin = clock(); - for (i=0; i<100000; i++) { - connector_put_bytes(c, ports[0], msg, msg_len); - connector_get(c, ports[3 + (i%2)*2]); - connector_sync(c, -1); - } - clock_t end = clock(); - double time_spent = (double)(end - begin) / CLOCKS_PER_SEC; - printf("Alternating: %f\n", time_spent); - } - free(msg); - return 0; -} \ No newline at end of file