Guest User

caseloweringtrick_test.go

a guest
Mar 8th, 2022
16
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 1.79 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4.     "bytes"
  5.     "strings"
  6.     "testing"
  7. )
  8.  
  9. var (
  10.     shortLowercase = []byte(strings.Repeat("a", 20))
  11.     longLowercase  = []byte(strings.Repeat("a", 150))
  12.     shortMixed     = []byte(strings.Repeat("aA", 10))
  13.     longMixed      = []byte(strings.Repeat("aA", 75))
  14.     shortUppercase = []byte(strings.Repeat("A", 20))
  15.     longUppercase  = []byte(strings.Repeat("A", 150))
  16. )
  17.  
  18. func ToLowercase(text []byte) []byte {
  19.     lowered := make([]byte, len(text))
  20.  
  21.     for i, char := range text {
  22.         lowered[i] = char | 0x20
  23.     }
  24.  
  25.     return lowered
  26. }
  27.  
  28. func BenchmarkSTDShortLowercase(b *testing.B) {
  29.     for i := 0; i < b.N; i++ {
  30.         bytes.ToLower(shortLowercase)
  31.     }
  32. }
  33.  
  34. func BenchmarkSTDLongLowercase(b *testing.B) {
  35.     for i := 0; i < b.N; i++ {
  36.         bytes.ToLower(longLowercase)
  37.     }
  38. }
  39.  
  40. func BenchmarkSTDShortMixed(b *testing.B) {
  41.     for i := 0; i < b.N; i++ {
  42.         bytes.ToLower(shortMixed)
  43.     }
  44. }
  45.  
  46. func BenchmarkSTDLongMixed(b *testing.B) {
  47.     for i := 0; i < b.N; i++ {
  48.         bytes.ToLower(longMixed)
  49.     }
  50. }
  51.  
  52. func BenchmarkSTDShortUppercase(b *testing.B) {
  53.     for i := 0; i < b.N; i++ {
  54.         bytes.ToLower(shortUppercase)
  55.     }
  56. }
  57.  
  58. func BenchmarkSTDLongUppercase(b *testing.B) {
  59.     for i := 0; i < b.N; i++ {
  60.         bytes.ToLower(longUppercase)
  61.     }
  62. }
  63.  
  64. func BenchmarkOwnShortLowercase(b *testing.B) {
  65.     for i := 0; i < b.N; i++ {
  66.         ToLowercase(shortLowercase)
  67.     }
  68. }
  69.  
  70. func BenchmarkOwnLongLowercase(b *testing.B) {
  71.     for i := 0; i < b.N; i++ {
  72.         ToLowercase(longLowercase)
  73.     }
  74. }
  75.  
  76. func BenchmarkOwnShortMixed(b *testing.B) {
  77.     for i := 0; i < b.N; i++ {
  78.         ToLowercase(shortMixed)
  79.     }
  80. }
  81.  
  82. func BenchmarkOwnLongMixed(b *testing.B) {
  83.     for i := 0; i < b.N; i++ {
  84.         ToLowercase(longMixed)
  85.     }
  86. }
  87.  
  88. func BenchmarkOwnShortUppercase(b *testing.B) {
  89.     for i := 0; i < b.N; i++ {
  90.         ToLowercase(shortUppercase)
  91.     }
  92. }
  93.  
  94. func BenchmarkOwnLongUppercase(b *testing.B) {
  95.     for i := 0; i < b.N; i++ {
  96.         ToLowercase(longUppercase)
  97.     }
  98. }
Advertisement
Add Comment
Please, Sign In to add comment