func BenchmarkRW(b *testing.B) { wg := new(sync.WaitGroup) for i := 0; i < 10000; i++ { key := misc.Md5([]byte(strconv.Itoa(i))) wg.Add(1) go write(key, i, wg) } wg.Wait() for i := 0; i < 10000; i++ { key := misc.Md5([]byte(strconv.Itoa(i))) wg.Add(1) go read(key, wg) } wg.Wait() }
func TestSetGet(t *testing.T) { misc.PrintCallerFuncNameForTest() for i := 0; i < 10000; i++ { key := misc.Md5([]byte(strconv.Itoa(i))) smap.Set(key, i) v, ok := smap.Get(key) if !ok || v != i { t.Error(v, ok) } } }
func TestSetGet(t *testing.T) { misc.PrintCallerFuncNameForTest() for i := 0; i < 10000; i++ { key := misc.Md5([]byte(strconv.Itoa(i))) sc.Set(key, i, 10*time.Second) v, ok := sc.Get(key) if !ok || v != i { t.Error(v, ok) } } time.Sleep(16 * time.Second) for i := 0; i < 10000; i++ { key := misc.Md5([]byte(strconv.Itoa(i))) v, ok := sc.Get(key) if ok || v == i { t.Error(v, ok) } } }