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  // }