| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | 
							- package strmatcher_test
 
- import (
 
- 	"strconv"
 
- 	"testing"
 
- 	"v2ray.com/core/common"
 
- 	. "v2ray.com/core/common/strmatcher"
 
- )
 
- func BenchmarkDomainMatcherGroup(b *testing.B) {
 
- 	g := new(DomainMatcherGroup)
 
- 	for i := 1; i <= 1024; i++ {
 
- 		g.Add(strconv.Itoa(i)+".v2ray.com", uint32(i))
 
- 	}
 
- 	b.ResetTimer()
 
- 	for i := 0; i < b.N; i++ {
 
- 		_ = g.Match("0.v2ray.com")
 
- 	}
 
- }
 
- func BenchmarkFullMatcherGroup(b *testing.B) {
 
- 	g := new(FullMatcherGroup)
 
- 	for i := 1; i <= 1024; i++ {
 
- 		g.Add(strconv.Itoa(i)+".v2ray.com", uint32(i))
 
- 	}
 
- 	b.ResetTimer()
 
- 	for i := 0; i < b.N; i++ {
 
- 		_ = g.Match("0.v2ray.com")
 
- 	}
 
- }
 
- func BenchmarkMarchGroup(b *testing.B) {
 
- 	g := NewMatcherGroup()
 
- 	for i := 1; i <= 1024; i++ {
 
- 		m, err := Domain.New(strconv.Itoa(i) + ".v2ray.com")
 
- 		common.Must(err)
 
- 		g.Add(m)
 
- 	}
 
- 	b.ResetTimer()
 
- 	for i := 0; i < b.N; i++ {
 
- 		_ = g.Match("0.v2ray.com")
 
- 	}
 
- }
 
- func BenchmarkCachedMarchGroup(b *testing.B) {
 
- 	g := NewMatcherGroup()
 
- 	for i := 1; i <= 1024; i++ {
 
- 		m, err := Domain.New(strconv.Itoa(i) + ".v2ray.com")
 
- 		common.Must(err)
 
- 		g.Add(m)
 
- 	}
 
- 	cg := NewCachedMatcherGroup(g)
 
- 	_ = cg.Match("0.v2ray.com")
 
- 	b.ResetTimer()
 
- 	for i := 0; i < b.N; i++ {
 
- 		_ = cg.Match("0.v2ray.com")
 
- 	}
 
- }
 
 
  |