From cec0662e68a22052a489792c0ff37bc1a4f25591 Mon Sep 17 00:00:00 2001 From: Abdelrahman Date: Sun, 19 May 2024 00:10:18 +0100 Subject: [PATCH] Add 256k cache test function --- haversine_02/src/repetition_testing/main.cpp | 28 ++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/haversine_02/src/repetition_testing/main.cpp b/haversine_02/src/repetition_testing/main.cpp index 4e16837..333114b 100644 --- a/haversine_02/src/repetition_testing/main.cpp +++ b/haversine_02/src/repetition_testing/main.cpp @@ -97,6 +97,7 @@ void test_cache_test_16k(reptester *tester, alloc_type type); void test_cache_test_32k(reptester *tester, alloc_type type); void test_cache_test_64k(reptester *tester, alloc_type type); void test_cache_test_128k(reptester *tester, alloc_type type); +void test_cache_test_256k(reptester *tester, alloc_type type); void test_cache_test_512k(reptester *tester, alloc_type type); void test_cache_test_1m(reptester *tester, alloc_type type); void test_cache_test_2m(reptester *tester, alloc_type type); @@ -219,6 +220,8 @@ int main(int argc, char *argv[]) { {{"CACHE TEST 64K", "CACHE TEST 64K WITH MALLOC"}, test_cache_test_64k}, {{"CACHE TEST 128K", "CACHE TEST 128K WITH MALLOC"}, test_cache_test_128k}, + {{"CACHE TEST 256K", "CACHE TEST 256K WITH MALLOC"}, + test_cache_test_256k}, {{"CACHE TEST 512K", "CACHE TEST 512K WITH MALLOC"}, test_cache_test_512k}, {{"CACHE TEST 1M", "CACHE TEST 1M WITH MALLOC"}, test_cache_test_1m}, @@ -1401,6 +1404,31 @@ void test_cache_test_128k(reptester *tester, alloc_type type) { handle_free(tester, type); } +void test_cache_test_256k(reptester *tester, alloc_type type) { + u64 start = read_cpu_timer(); + u64 fault_count_start = page_fault_count(); + + handle_alloc(tester, type); + + u64 total_size = tester->params.read_size * tester->params.read_count; + + cache_test(tester->params.buffer, total_size, 0x3ffff); + + u64 fault_count_end = page_fault_count(); + u64 end = read_cpu_timer(); + + u64 read_time = end - start; + u64 page_faults = fault_count_end - fault_count_start; + + tester->results = { + total_size, + read_time, + page_faults, + }; + + handle_free(tester, type); +} + void test_cache_test_512k(reptester *tester, alloc_type type) { u64 start = read_cpu_timer(); u64 fault_count_start = page_fault_count();