github.com/sunanzhi/ratelimit-go@v0.0.0-20210105081354-5166aca83f03/ratelimit_test.go (about) 1 package ratelimit 2 3 import ( 4 "testing" 5 "time" 6 ) 7 8 func BenchmarkLimiting(b *testing.B) { 9 var ( 10 limitTime = 10 11 bucketCount = 5 12 limitCount = 200 13 ) 14 var slidewindow, _ = Init(limitTime, bucketCount, limitCount) 15 for i := 0; i < 10000; i++ { 16 17 go func() { 18 19 err := slidewindow.Limiting() 20 if err != nil { 21 // fmt.Println(err.Error()) 22 } 23 }() 24 } 25 26 time.Sleep(5 * time.Second) 27 } 28 29 func TestLimiting(t *testing.T) { 30 var slidewindow, _ = Init(10, 1000, 10000) 31 for i := 0; i < 10000; i++ { 32 33 go func() { 34 35 err := slidewindow.Limiting() 36 if err != nil { 37 // fmt.Println(err.Error()) 38 } 39 }() 40 } 41 42 time.Sleep(5 * time.Second) 43 }