| 77 | } |
| 78 | |
| 79 | void eval_alloc_perf() { |
| 80 | const char *allocator_names[] = {"malloc", "g_malloc", "g_slice_alloc", "my_malloc"}; |
| 81 | const allocator allocators[] = {malloc, g_malloc, g_slice_alloc, aligned_alloc2}; |
| 82 | const free_func free_funcs[] = {free, g_free, g_slice_free2, free}; |
| 83 | const workload_func workloads[] = {workload0, workload1}; |
| 84 | |
| 85 | |
| 86 | struct rusage r_usage_before, r_usage_after; |
| 87 | getrusage(RUSAGE_SELF, &r_usage_before); |
| 88 | |
| 89 | workloads[workload_idx](allocators[alloc_type], allocator_names[alloc_type]); |
| 90 | |
| 91 | // for (int i = 0; i < N; i++) |
| 92 | // free_funcs[alloc_type](it[i]); |
| 93 | |
| 94 | getrusage(RUSAGE_SELF, &r_usage_after); |
| 95 | print_rusage_diff(r_usage_before, r_usage_after); |
| 96 | |
| 97 | |
| 98 | // sleep(20); |
| 99 | } |
| 100 | |
| 101 | |
| 102 | /** |
no test coverage detected