github.com/angenalZZZ/gofunc@v0.0.0-20210507121333-48ff1be3917b/data/cache/store/badger_bench_test.go (about) 1 package store 2 3 import ( 4 "fmt" 5 "math" 6 "testing" 7 ) 8 9 func BenchmarkBadgerSet(b *testing.B) { 10 store := NewBadger(nil) 11 defer func() { _ = store.Close() }() 12 13 for k := 0.; k <= 10; k++ { 14 n := int(math.Pow(2, k)) 15 b.Run(fmt.Sprintf("%d", n), func(b *testing.B) { 16 for i := 0; i < b.N*n; i++ { 17 key := fmt.Sprintf("test-%d", n) 18 value := []byte(fmt.Sprintf("value-%d", n)) 19 20 _ = store.Set(key, value, &Options{ 21 Tags: []string{fmt.Sprintf("tag-%d", n)}, 22 }) 23 } 24 }) 25 } 26 } 27 28 func BenchmarkBadgerGet(b *testing.B) { 29 store := NewBadger(nil) 30 defer func() { _ = store.Close() }() 31 32 key := "test" 33 value := []byte("value") 34 35 _ = store.Set(key, value, nil) 36 37 for k := 0.; k <= 10; k++ { 38 n := int(math.Pow(2, k)) 39 b.Run(fmt.Sprintf("%d", n), func(b *testing.B) { 40 for i := 0; i < b.N*n; i++ { 41 _, _ = store.Get(key) 42 } 43 }) 44 } 45 }