github.com/codingeasygo/util@v0.0.0-20231206062002-1ce2f004b7d9/xtest/perf_test.go (about) 1 package xtest 2 3 import ( 4 "fmt" 5 "testing" 6 "time" 7 ) 8 9 func TestPerf(t *testing.T) { 10 DoPerfV(20, 10, "", func(v int) { 11 time.Sleep(100 * time.Millisecond) 12 fmt.Printf("doing->%d\n", v) 13 }) 14 used, err := DoPerf(1000, "t.log", func(v int) { 15 time.Sleep(100 * time.Millisecond) 16 fmt.Printf("doing->%d\n", v) 17 fmt.Println(v) 18 }) 19 if err != nil { 20 t.Error(err.Error()) 21 return 22 } 23 fmt.Println("used->", used) 24 } 25 26 // func TestAutoPerf(t *testing.T) { 27 // perf := NewPerf() 28 // perf.ShowState = true 29 // used, max, avg, err := perf.AutoExec(1000, 10, 10, "", 100, 30 // func(idx int, state Perf) error { 31 // fmt.Printf("running->%d->%v\n", idx, converter.JSON(state)) 32 // if state.Running < 100 { 33 // return nil 34 // } 35 // fmt.Println("--->full") 36 // return FullError 37 // }, func(v int) error { 38 // time.Sleep(2000 * time.Millisecond) 39 // fmt.Printf("doing->%d\n", v) 40 // return nil 41 // }) 42 // fmt.Println("used->", used, max, avg, err) 43 // }