add: benchmarks
This commit is contained in:
parent
f7b92c2623
commit
2cf7ad04f0
138
slug_test.go
138
slug_test.go
@ -197,3 +197,141 @@ func TestSlugMakeSmartTruncate(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkMakeShortAscii(b *testing.B) {
|
||||
b.ReportAllocs()
|
||||
for n := 0; n < b.N; n++ {
|
||||
Make("Hello world")
|
||||
}
|
||||
}
|
||||
func BenchmarkMakeShort(b *testing.B) {
|
||||
b.ReportAllocs()
|
||||
for n := 0; n < b.N; n++ {
|
||||
Make("хелло ворлд")
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkMakeShortSymbols(b *testing.B) {
|
||||
b.ReportAllocs()
|
||||
for n := 0; n < b.N; n++ {
|
||||
Make("·/,:;`˜'\" &€£¥")
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkMakeMediumAscii(b *testing.B) {
|
||||
b.ReportAllocs()
|
||||
for n := 0; n < b.N; n++ {
|
||||
Make("ABCDE FGHIJ KLMNO PQRST UWXYZ ABCDE FGHIJ KLMNO PQRST UWXYZ ABCDE")
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkMakeMedium(b *testing.B) {
|
||||
b.ReportAllocs()
|
||||
for n := 0; n < b.N; n++ {
|
||||
Make("ヲァィゥェ ォャュョッ ーアイウエ オカキクケ コサシスセ ソタチツテ トナニヌネ ノハヒフヘ ホマミムメ モヤユヨラ リルレロワ")
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkMakeLongAscii(b *testing.B) {
|
||||
longStr := "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi " +
|
||||
"pulvinar sodales ultrices. Nulla facilisi. Sed at vestibulum erat. Ut " +
|
||||
"sit amet urna posuere, sagittis eros ac, varius nisi. Morbi ullamcorper " +
|
||||
"odio at nunc pulvinar mattis. Vestibulum rutrum, ante eu dictum mattis, " +
|
||||
"elit risus finibus nunc, consectetur facilisis eros leo ut sapien. Sed " +
|
||||
"pulvinar volutpat mi. Cras semper mi ac eros accumsan, at feugiat massa " +
|
||||
"elementum. Morbi eget dolor sit amet purus condimentum egestas non ut " +
|
||||
"sapien. Duis feugiat magna vitae nisi lobortis, quis finibus sem " +
|
||||
"sollicitudin. Pellentesque eleifend blandit ipsum, ut porta arcu " +
|
||||
"ultricies et. Fusce vel ipsum porta, placerat diam ac, consectetur " +
|
||||
"magna. Nulla in porta sem. Suspendisse commodo, felis in molestie " +
|
||||
"ultricies, arcu ipsum aliquet turpis, elementum dapibus ipsum lorem a " +
|
||||
"nisl. Etiam varius imperdiet placerat. Aliquam euismod lacus arcu, " +
|
||||
"ultrices hendrerit est pellentesque vel. Aliquam sit amet laoreet leo. " +
|
||||
"Integer eros libero, mollis sed posuere."
|
||||
|
||||
b.ReportAllocs()
|
||||
b.ResetTimer()
|
||||
for n := 0; n < b.N; n++ {
|
||||
Make(longStr)
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkSubstituteRuneShort(b *testing.B) {
|
||||
shortStr := "Hello/Hi world"
|
||||
subs := map[rune]string{'o': "no", '/': "slash"}
|
||||
|
||||
b.ReportAllocs()
|
||||
b.ResetTimer()
|
||||
for n := 0; n < b.N; n++ {
|
||||
SubstituteRune(shortStr, subs)
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkSubstituteRuneLong(b *testing.B) {
|
||||
longStr := "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi " +
|
||||
"pulvinar sodales ultrices. Nulla facilisi. Sed at vestibulum erat. Ut " +
|
||||
"sit amet urna posuere, sagittis eros ac, varius nisi. Morbi ullamcorper " +
|
||||
"odio at nunc pulvinar mattis. Vestibulum rutrum, ante eu dictum mattis, " +
|
||||
"elit risus finibus nunc, consectetur facilisis eros leo ut sapien. Sed " +
|
||||
"pulvinar volutpat mi. Cras semper mi ac eros accumsan, at feugiat massa " +
|
||||
"elementum. Morbi eget dolor sit amet purus condimentum egestas non ut " +
|
||||
"sapien. Duis feugiat magna vitae nisi lobortis, quis finibus sem " +
|
||||
"sollicitudin. Pellentesque eleifend blandit ipsum, ut porta arcu " +
|
||||
"ultricies et. Fusce vel ipsum porta, placerat diam ac, consectetur " +
|
||||
"magna. Nulla in porta sem. Suspendisse commodo, felis in molestie " +
|
||||
"ultricies, arcu ipsum aliquet turpis, elementum dapibus ipsum lorem a " +
|
||||
"nisl. Etiam varius imperdiet placerat. Aliquam euismod lacus arcu, " +
|
||||
"ultrices hendrerit est pellentesque vel. Aliquam sit amet laoreet leo. " +
|
||||
"Integer eros libero, mollis sed posuere."
|
||||
subs := map[rune]string{
|
||||
'o': "no",
|
||||
'/': "slash",
|
||||
'i': "done",
|
||||
'E': "es",
|
||||
'a': "ASD",
|
||||
'1': "one",
|
||||
'l': "onetwo",
|
||||
}
|
||||
|
||||
b.ReportAllocs()
|
||||
b.ResetTimer()
|
||||
for n := 0; n < b.N; n++ {
|
||||
SubstituteRune(longStr, subs)
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkSmartTruncateShort(b *testing.B) {
|
||||
shortStr := "Hello world"
|
||||
MaxLength = 8
|
||||
|
||||
b.ReportAllocs()
|
||||
b.ResetTimer()
|
||||
for n := 0; n < b.N; n++ {
|
||||
smartTruncate(shortStr)
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkSmartTruncateLong(b *testing.B) {
|
||||
longStr := "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi " +
|
||||
"pulvinar sodales ultrices. Nulla facilisi. Sed at vestibulum erat. Ut " +
|
||||
"sit amet urna posuere, sagittis eros ac, varius nisi. Morbi ullamcorper " +
|
||||
"odio at nunc pulvinar mattis. Vestibulum rutrum, ante eu dictum mattis, " +
|
||||
"elit risus finibus nunc, consectetur facilisis eros leo ut sapien. Sed " +
|
||||
"pulvinar volutpat mi. Cras semper mi ac eros accumsan, at feugiat massa " +
|
||||
"elementum. Morbi eget dolor sit amet purus condimentum egestas non ut " +
|
||||
"sapien. Duis feugiat magna vitae nisi lobortis, quis finibus sem " +
|
||||
"sollicitudin. Pellentesque eleifend blandit ipsum, ut porta arcu " +
|
||||
"ultricies et. Fusce vel ipsum porta, placerat diam ac, consectetur " +
|
||||
"magna. Nulla in porta sem. Suspendisse commodo, felis in molestie " +
|
||||
"ultricies, arcu ipsum aliquet turpis, elementum dapibus ipsum lorem a " +
|
||||
"nisl. Etiam varius imperdiet placerat. Aliquam euismod lacus arcu, " +
|
||||
"ultrices hendrerit est pellentesque vel. Aliquam sit amet laoreet leo. " +
|
||||
"Integer eros libero, mollis sed posuere."
|
||||
MaxLength = 256
|
||||
|
||||
b.ReportAllocs()
|
||||
b.ResetTimer()
|
||||
for n := 0; n < b.N; n++ {
|
||||
smartTruncate(longStr)
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user