feat: initialize project structure with core application scaffolding and configuration
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
#include "rlib.h"
|
||||
#include "sudoku.h"
|
||||
|
||||
#include <pthread.h>
|
||||
char * xx = "aa";
|
||||
|
||||
void * thread_worker(){
|
||||
tick();
|
||||
|
||||
|
||||
for(uint i = 0; i< 1000; i++){
|
||||
|
||||
grid_t * grid = new_grid(18);
|
||||
grid_to_string_c(grid);
|
||||
// printf("%d\n",i);
|
||||
sbuf(xx);
|
||||
//strcpy(xx,"AAA");
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void bench_rtemp_c(){
|
||||
grid_t * grid = new_grid(18);
|
||||
char * to_copy = sbuf(grid_to_string_c(grid));
|
||||
|
||||
uint times_bench = 10;
|
||||
uint times_function = 10000000;
|
||||
printf("Benchmark %d*%d with/without thread lock.\n",times_bench,times_function);
|
||||
RBENCH(times_bench,{
|
||||
printf("with: ");
|
||||
RBENCH(times_function,{
|
||||
sbuf(sbuf(sbuf(to_copy)));
|
||||
});
|
||||
|
||||
rtempc_use_mutex = false;
|
||||
printf("witout: ");
|
||||
RBENCH(10000000,{
|
||||
sbuf(sbuf(sbuf(to_copy)));
|
||||
});
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
int main(){
|
||||
//rtempc_use_mutex = false;
|
||||
bench_rtemp_c();
|
||||
rtempc_use_mutex = true;
|
||||
uint worker_count = 4;
|
||||
pthread_t workers[worker_count];
|
||||
printf("Threading: \n");
|
||||
RBENCH(1,{
|
||||
for(uint i = 0; i < worker_count; i++){
|
||||
pthread_create(&workers[i],0,thread_worker,NULL);
|
||||
}
|
||||
for(uint i = 0; i < worker_count; i++){
|
||||
pthread_join(workers[i],NULL);
|
||||
}
|
||||
});
|
||||
printf("Without threading: \n");
|
||||
RBENCH(1,{
|
||||
for(uint i = 0; i < worker_count; i++){
|
||||
thread_worker();
|
||||
}
|
||||
});
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user