package cachekv import ( "strconv" "testing" db "github.com/tendermint/tm-db" ) func BenchmarkLargeUnsortedMisses(b *testing.B) { for i := 0; i < b.N; i++ { b.StopTimer() store := generateStore() b.StartTimer() for k := 0; k < 10000; k++ { // cache has A + Z values // these are within range, but match nothing store.dirtyItems([]byte("B1"), []byte("B2")) } } } func generateStore() *Store { cache := map[string]*cValue{} unsorted := map[string]struct{}{} for i := 0; i < 5000; i++ { key := "A" + strconv.Itoa(i) unsorted[key] = struct{}{} cache[key] = &cValue{} } for i := 0; i < 5000; i++ { key := "Z" + strconv.Itoa(i) unsorted[key] = struct{}{} cache[key] = &cValue{} } return &Store{ cache: cache, unsortedCache: unsorted, sortedCache: db.NewMemDB(), } }