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  }