From e46251e025f320b32d02772a50e59e8301667c1b Mon Sep 17 00:00:00 2001 From: Patrick Mylund Nielsen Date: Wed, 4 Jan 2012 09:55:32 +0100 Subject: [PATCH] A few benchmarks vs. normal maps --- cache_test.go | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/cache_test.go b/cache_test.go index bc9b6a4..df52767 100644 --- a/cache_test.go +++ b/cache_test.go @@ -408,3 +408,50 @@ func TestFlush(t *testing.T) { t.Error("x is not nil:", x) } } + +func BenchmarkCache(b *testing.B) { + tc := New(0, 0) + tc.Set("foo", "bar", 0) + for i := 0; i < b.N; i++ { + tc.Get("foo") + } +} + +func BenchmarkMap(b *testing.B) { + m := map[string]string{ + "foo": "bar", + } + for i := 0; i < b.N; i++ { + _, _ = m["foo"] + } +} + +func BenchmarkCacheSet(b *testing.B) { + tc := New(0, 0) + for i := 0; i < b.N; i++ { + tc.Set("foo", "bar", 0) + } +} + +func BenchmarkMapSet(b *testing.B) { + m := map[string]string{} + for i := 0; i < b.N; i++ { + m["foo"] = "bar" + } +} + +func BenchmarkCacheSetDelete(b *testing.B) { + tc := New(0, 0) + for i := 0; i < b.N; i++ { + tc.Set("foo", "bar", 0) + tc.Delete("foo") + } +} + +func BenchmarkMapSetDelete(b *testing.B) { + m := map[string]string{} + for i := 0; i < b.N; i++ { + m["foo"] = "bar" + delete(m, "foo") + } +}