Files
@ b972060a1f92
Branch filter:
Location: CSY/reowolf/examples/bench_08/main.c - annotation
b972060a1f92
1.5 KiB
text/x-csrc
more optimization-stage benchmarking examples
d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b ef80a75d0e6b d5c0b4fdc19b ef80a75d0e6b ef80a75d0e6b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b ef80a75d0e6b ef80a75d0e6b d5c0b4fdc19b d5c0b4fdc19b ef80a75d0e6b ef80a75d0e6b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b d5c0b4fdc19b | #include <time.h>
#include "../../reowolf.h"
#include "../utility.c"
int main(int argc, char** argv) {
int i, forwards, msglen;
forwards = atoi(argv[1]);
msglen = atoi(argv[2]);
printf("forwards %d, msglen %d\n", forwards, msglen);
unsigned char pdl[] = "";
Arc_ProtocolDescription * pd = protocol_description_parse(pdl, sizeof(pdl)-1);
printf("Error str `%s`\n", reowolf_error_peek(NULL));
char logpath[] = "./bench_8.txt";
Connector * c = connector_new_logging(pd, logpath, sizeof(logpath)-1);
PortId native_putter, native_getter;
connector_add_port_pair(c, &native_putter, &native_getter);
for (i=0; i<forwards; i++) {
PortId putter, getter;
connector_add_port_pair(c, &putter, &getter);
// native ports: {native_putter, native_getter, putter, getter}
char ident[] = "forward"; // defined in reowolf's stdlib
// thread a forward component onto native_tail
connector_add_component(c, ident, sizeof(ident)-1, (PortId[]){native_getter, putter}, 2);
// native ports: {native_putter, getter}
printf("Error str `%s`\n", reowolf_error_peek(NULL));
native_getter = getter;
}
connector_connect(c, -1);
printf("Error str `%s`\n", reowolf_error_peek(NULL));
char * msg = malloc(msglen);
memset(msg, 42, msglen);
clock_t begin = clock();
for (i=0; i<100000; i++) {
connector_put_bytes(c, native_putter, msg, msglen);
connector_get(c, native_getter);
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;
}
|