1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
package wildcard_test
import (
"fmt"
"path/filepath"
"regexp"
"testing"
"github.com/IGLOU-EU/go-wildcard/v2"
)
var TestSet = []struct {
pattern string
name string
}{
{"", "These aren't the wildcard you're looking for"},
{"These aren't the wildcard you're looking for", ""},
{"*", "These aren't the wildcard you're looking for"},
{"These aren't the wildcard you're looking for", "These aren't the wildcard you're looking for"},
{"Th.e * the wildcard you?re looking fo?", "These aren't the wildcard you're looking for"},
{"*š¤·š¾āāļø*", "Tš„µš¤·š¾āāļøš„"},
}
func BenchmarkRegex(b *testing.B) {
for i, t := range TestSet {
b.Run(fmt.Sprint(i), func(b *testing.B) {
for i := 0; i < b.N; i++ {
regexp.MatchString(t.pattern, t.name)
}
})
}
}
func BenchmarkFilepath(b *testing.B) {
for i, t := range TestSet {
b.Run(fmt.Sprint(i), func(b *testing.B) {
for i := 0; i < b.N; i++ {
filepath.Match(t.pattern, t.name)
}
})
}
}
func BenchmarkOldMatchSimple(b *testing.B) {
for i, t := range TestSet {
b.Run(fmt.Sprint(i), func(b *testing.B) {
for i := 0; i < b.N; i++ {
Old_MatchSimple(t.pattern, t.name)
}
})
}
}
func BenchmarkOldMatch(b *testing.B) {
for i, t := range TestSet {
b.Run(fmt.Sprint(i), func(b *testing.B) {
for i := 0; i < b.N; i++ {
Old_Match(t.pattern, t.name)
}
})
}
}
func BenchmarkMatch(b *testing.B) {
for i, t := range TestSet {
b.Run(fmt.Sprint(i), func(b *testing.B) {
for i := 0; i < b.N; i++ {
wildcard.Match(t.pattern, t.name)
}
})
}
}
|