github.com/angenalZZZ/gofunc@v0.0.0-20210507121333-48ff1be3917b/f/cimap_test.go (about) 1 package f_test 2 3 import ( 4 "testing" 5 6 "github.com/angenalZZZ/gofunc/data/random" 7 "github.com/angenalZZZ/gofunc/f" 8 ) 9 10 func TestCiMap_JSON(t *testing.T) { 11 m := f.NewCiMap() 12 m.MSet(map[uint64]interface{}{ 13 1: 1, 14 2: 2, 15 3: 3, 16 }) 17 s, _ := m.JSON() 18 t.Logf("%s\n", s) 19 20 m2, err2 := f.NewCiMapFromJSON(s) 21 if err2 != nil { 22 t.Fatal(err2) 23 } 24 s2, _ := m2.JSON() 25 t.Logf("%s\n", s2) 26 } 27 28 // go test -v -cpu=4 -benchtime=15s -benchmem -bench=^BenchmarkCiMap_Set$ -test.run ^none$ ./f 29 // go test -c -o %TEMP%\t01.exe ./f && %TEMP%\t01.exe -test.v -test.bench ^BenchmarkCiMap_Set$ -test.run ^none$ 30 func BenchmarkCiMap_Set(b *testing.B) { 31 b.StopTimer() 32 m := f.NewCiMap() 33 k := random.Int64() 34 v := random.AlphaNumber(1024) // every time 1kB data request: cpu=4 5500k/qps 0.1ms/op 35 b.StartTimer() 36 for i := 0; i < b.N; i++ { 37 m.Set(k, v) 38 } 39 }