-
-
Notifications
You must be signed in to change notification settings - Fork 45
/
goaway_bench_test.go
146 lines (126 loc) · 4.41 KB
/
goaway_bench_test.go
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
package goaway
import (
"testing"
)
func BenchmarkIsProfaneWhenShortStringHasNoProfanity(b *testing.B) {
for n := 0; n < b.N; n++ {
IsProfane("aaaaaaaaaaaaaa")
}
b.ReportAllocs()
}
func BenchmarkIsProfaneWhenShortStringHasProfanityAtTheStart(b *testing.B) {
for n := 0; n < b.N; n++ {
IsProfane("fuckaaaaaaaaaa")
}
b.ReportAllocs()
}
func BenchmarkIsProfaneWhenShortStringHasProfanityInTheMiddle(b *testing.B) {
for n := 0; n < b.N; n++ {
IsProfane("aaaaafuckaaaaa")
}
b.ReportAllocs()
}
func BenchmarkIsProfaneWhenShortStringHasProfanityAtTheEnd(b *testing.B) {
for n := 0; n < b.N; n++ {
IsProfane("aaaaaaaaaafuck")
}
b.ReportAllocs()
}
func BenchmarkIsProfaneWhenMediumStringHasNoProfanity(b *testing.B) {
for n := 0; n < b.N; n++ {
IsProfane("How are you doing today?")
}
b.ReportAllocs()
}
func BenchmarkIsProfaneWhenMediumStringHasProfanityAtTheStart(b *testing.B) {
for n := 0; n < b.N; n++ {
IsProfane("Shit, you're cute today.")
}
b.ReportAllocs()
}
func BenchmarkIsProfaneWhenMediumStringHasProfanityInTheMiddle(b *testing.B) {
for n := 0; n < b.N; n++ {
IsProfane("How are you fu ck doing?")
}
b.ReportAllocs()
}
func BenchmarkIsProfaneWhenMediumStringHasProfanityAtTheEnd(b *testing.B) {
for n := 0; n < b.N; n++ {
IsProfane("you're cute today. Fuck.")
}
b.ReportAllocs()
}
func BenchmarkIsProfaneWhenLongStringHasNoProfanity(b *testing.B) {
for n := 0; n < b.N; n++ {
IsProfane("Hello John Doe, I hope you're feeling well, as I come today bearing terrible news regarding your favorite chocolate chip cookie brand")
}
b.ReportAllocs()
}
func BenchmarkIsProfaneWhenLongStringHasProfanityAtTheStart(b *testing.B) {
for n := 0; n < b.N; n++ {
IsProfane("Fuck John Doe, I hope you're feeling well, as I come today bearing terrible news regarding your favorite chocolate chip cookie brand")
}
b.ReportAllocs()
}
func BenchmarkIsProfaneWhenLongStringHasProfanityInTheMiddle(b *testing.B) {
for n := 0; n < b.N; n++ {
IsProfane("Hello John Doe, I hope you're feeling well, as I come today bearing shitty news regarding your favorite chocolate chip cookie brand")
}
b.ReportAllocs()
}
func BenchmarkIsProfaneWhenLongStringHasProfanityAtTheEnd(b *testing.B) {
for n := 0; n < b.N; n++ {
IsProfane("Hello John Doe, I hope you're feeling well, as I come today bearing terrible news regarding your favorite chocolate chip cookie bitch")
}
b.ReportAllocs()
}
func BenchmarkProfanityDetector_WithSanitizeAccentsSetToFalseWhenLongStringHasProfanityAtTheStart(b *testing.B) {
profanityDetector := NewProfanityDetector().WithSanitizeAccents(false)
for n := 0; n < b.N; n++ {
profanityDetector.IsProfane("Fuck John Doe, I hope you're feeling well, as I come today bearing terrible news regarding your favorite chocolate chip cookie brand")
}
b.ReportAllocs()
}
func BenchmarkProfanityDetector_WithSanitizeAccentsSetToFalseWhenLongStringHasProfanityInTheMiddle(b *testing.B) {
profanityDetector := NewProfanityDetector().WithSanitizeAccents(false)
for n := 0; n < b.N; n++ {
profanityDetector.IsProfane("Hello John Doe, I hope you're feeling well, as I come today bearing shitty news regarding your favorite chocolate chip cookie brand")
}
b.ReportAllocs()
}
func BenchmarkProfanityDetector_WithSanitizeAccentsSetToFalseWhenLongStringHasProfanityAtTheEnd(b *testing.B) {
profanityDetector := NewProfanityDetector().WithSanitizeAccents(false)
for n := 0; n < b.N; n++ {
profanityDetector.IsProfane("Hello John Doe, I hope you're feeling well, as I come today bearing terrible news regarding your favorite chocolate chip cookie bitch")
}
b.ReportAllocs()
}
func BenchmarkProfanityDetector_Sanitize(b *testing.B) {
profanityDetector := NewProfanityDetector().WithSanitizeAccents(true).WithSanitizeSpecialCharacters(true).WithSanitizeLeetSpeak(true)
for n := 0; n < b.N; n++ {
profanityDetector.IsProfane("H3ll0 J0hn D0e, 1 h0p3 y0u'r3 f3eling w3ll, as 1 c0me t0d4y b34r1ng sh1tty n3w5 r3g4rd1ng y0ur fav0rite ch0c0l4t3 chip c00kie br4nd")
}
b.ReportAllocs()
}
func BenchmarkCensor(b *testing.B) {
for n := 0; n < b.N; n++ {
Censor("Thundercunt c()ck")
}
b.ReportAllocs()
}
func BenchmarkIsProfaneConcurrently(b *testing.B) {
b.RunParallel(func(pb *testing.PB) {
for pb.Next() {
IsProfane("aaaaafuckaaaaa")
}
})
b.ReportAllocs()
}
func BenchmarkIsProfaneConcurrently_WithAccents(b *testing.B) {
b.RunParallel(func(pb *testing.PB) {
for pb.Next() {
IsProfane("ÄšŚ")
}
})
b.ReportAllocs()
}