Files
@ 1aef293674a6
Branch filter:
Location: CSY/reowolf/examples/bench_15/main.c - annotation
1aef293674a6
1.1 KiB
text/x-csrc
experimenting with multithreaded scheduler sync primitives
9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 ef80a75d0e6b 9ed6d091a817 9ed6d091a817 9ed6d091a817 ef80a75d0e6b 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 ef80a75d0e6b 9ed6d091a817 9ed6d091a817 ef80a75d0e6b 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 9ed6d091a817 | #include <time.h>
#include "../../reowolf.h"
#include "../utility.c"
int main(int argc, char** argv) {
int i, cid;
cid = atoi(argv[1]);
printf("cid %d\n", cid);
printf("Error str `%s`\n", reowolf_error_peek(NULL));
unsigned char pdl[] = "";
Arc_ProtocolDescription * pd = protocol_description_parse(pdl, sizeof(pdl)-1);
Connector * c = connector_new_with_id(pd, cid);
bool seen_delim = false;
for(i=2; i<argc; i++) {
EndpointPolarity ep;
Polarity p;
if(argv[i][0] == '.') {
seen_delim = true;
continue;
} else if(seen_delim) {
printf("getter");
p = Polarity_Getter;
ep = EndpointPolarity_Passive;
} else {
printf("putter");
p = Polarity_Putter;
ep = EndpointPolarity_Active;
}
FfiSocketAddr addr = {{127, 0, 0, 1}, atoi(argv[i])};
printf("@%d\n", addr.port);
connector_add_net_port(c, NULL, addr, p, ep);
}
printf("Added all ports!\n");
connector_connect(c, -1);
printf("Connect OK!\n");
clock_t begin = clock();
for (i=0; i<100000; 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;
}
|