From de169b5cdfe7d2a16076096ca937f90a3d9e734b Mon Sep 17 00:00:00 2001 From: nikzayn Date: Mon, 22 May 2023 11:32:23 +0530 Subject: [PATCH] benchmark test added for predictability Signed-off-by: nikzayn --- .../91-cpu-caches/predictability/main_test.go | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 12-optimizations/91-cpu-caches/predictability/main_test.go diff --git a/12-optimizations/91-cpu-caches/predictability/main_test.go b/12-optimizations/91-cpu-caches/predictability/main_test.go new file mode 100644 index 0000000..9ecab05 --- /dev/null +++ b/12-optimizations/91-cpu-caches/predictability/main_test.go @@ -0,0 +1,32 @@ +package main + +import "testing" + +var global int64 + +const n = 1_000_000 + +func BenchmarkLinkedList(b *testing.B) { + var local int64 + for i := 0; i < b.N; i++ { + b.StopTimer() + nodes := make([]node, n) + for i := 0; i < n-1; i++ { + nodes[i].next = &nodes[i+1] + } + b.StartTimer() + local = linkedList(&nodes[0]) + } + global = local +} + +func BenchmarkSum2(b *testing.B) { + var local int64 + for i := 0; i < b.N; i++ { + b.StopTimer() + s := make([]int64, n) + b.StartTimer() + local = sum2(s) + } + global = local +}