diff --git a/src/cache_test.c b/src/cache_test.c index 84fa5d0..534dbb2 100644 --- a/src/cache_test.c +++ b/src/cache_test.c @@ -17,7 +17,7 @@ void measure_multiple_accesses(void (*addr)(void), size_t num_accesses, size_t* } } -size_t find_crossover_point(size_t* hits, size_t* misses, size_t num_accesses) +void find_crossover_point(size_t* hits, size_t* misses, size_t num_accesses) { size_t hit_sum = 0, miss_sum = 0; @@ -30,15 +30,19 @@ size_t find_crossover_point(size_t* hits, size_t* misses, size_t num_accesses) size_t avg_hit = hit_sum / num_accesses; size_t avg_miss = miss_sum / num_accesses; - return (avg_hit + avg_miss) / 2; // Midpoint as threshold + printf("Average hit time: %zu\n", avg_hit); + printf("Average miss time: %zu\n", avg_miss); + + size_t threshold = (avg_hit + avg_miss) / 2; // Midpoint as threshold + printf("Midpoint: %zu\n", threshold); } -int main() +int main() { size_t* hits = malloc(NUM_ACCESSES * sizeof(size_t)); size_t* misses = malloc(NUM_ACCESSES * sizeof(size_t)); - if (!hits || !misses) + if (!hits || !misses) { perror("Memory allocation failed"); return 1; @@ -46,11 +50,9 @@ int main() // We use the addr. of main for our test, but anything works. measure_multiple_accesses((void*) main, NUM_ACCESSES, hits, misses); - - size_t threshold = find_crossover_point(hits, misses, NUM_ACCESSES); - printf("Suggested threshold: %zu\n", threshold); + find_crossover_point(hits, misses, NUM_ACCESSES); free(hits); free(misses); return 0; -} +} \ No newline at end of file