github.com/tawesoft/golib/v2@v2.10.0/legacy/operator/bench_bool_test.go (about) 1 package operator 2 3 // Conclusion: the v1 version of each function wins in every case except BenchmarkBoolNaryAll2Short 4 5 import ( 6 "testing" 7 ) 8 9 const benchloops = 1000000 10 11 // ===[ BoolNaryAll1 ]==============================================================================[ BoolNaryAll1 ]=== 12 13 func BenchmarkBoolNaryAll1Short1(b *testing.B) { 14 for i := 0; i < benchloops; i++ { 15 if boolNaryAll1(T, T, T, T) != T { panic("assertion failed") } 16 } 17 } 18 19 func BenchmarkBoolNaryAll1Short2(b *testing.B) { 20 for i := 0; i < benchloops; i++ { 21 if boolNaryAll1(F, T, T, T) != F { panic("assertion failed") } 22 } 23 } 24 25 func BenchmarkBoolNaryAll1Short3(b *testing.B) { 26 for i := 0; i < benchloops; i++ { 27 if boolNaryAll1(F, T, T, T) != F { panic("assertion failed") } 28 } 29 } 30 31 func BenchmarkBoolNaryAll1Long1(b *testing.B) { 32 for i := 0; i < benchloops; i++ { 33 if boolNaryAll1(T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) != T { panic("assertion failed") } 34 } 35 } 36 37 func BenchmarkBoolNaryAll1Long2(b *testing.B) { 38 for i := 0; i < benchloops; i++ { 39 if boolNaryAll1(T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, F) != F { panic("assertion failed") } 40 } 41 } 42 43 func BenchmarkBoolNaryAll1Long3(b *testing.B) { 44 for i := 0; i < benchloops; i++ { 45 if boolNaryAll1(F, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) != F { panic("assertion failed") } 46 } 47 } 48 49 func BenchmarkBoolNaryAll1Mixed(b *testing.B) { 50 for i := 0; i < benchloops; i++ { 51 if boolNaryAll1(T, T, T, T) != T { panic("assertion failed") } 52 if boolNaryAll1(F, T, T, T) != F { panic("assertion failed") } 53 if boolNaryAll1(F, T, T, T) != F { panic("assertion failed") } 54 if boolNaryAll1(T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) != T { panic("assertion failed") } 55 if boolNaryAll1(T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, F) != F { panic("assertion failed") } 56 if boolNaryAll1(F, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) != F { panic("assertion failed") } 57 } 58 } 59 60 // ===[ BoolNaryAll2 ]==============================================================================[ BoolNaryAll2 ]=== 61 62 func BenchmarkBoolNaryAll2Short1(b *testing.B) { 63 for i := 0; i < benchloops; i++ { 64 if boolNaryAll2(T, T, T, T) != T { panic("assertion failed") } 65 } 66 } 67 68 func BenchmarkBoolNaryAll2Short2(b *testing.B) { 69 for i := 0; i < benchloops; i++ { 70 if boolNaryAll2(F, T, T, T) != F { panic("assertion failed") } 71 } 72 } 73 74 func BenchmarkBoolNaryAll2Short3(b *testing.B) { 75 for i := 0; i < benchloops; i++ { 76 if boolNaryAll2(F, T, T, T) != F { panic("assertion failed") } 77 } 78 } 79 80 func BenchmarkBoolNaryAll2Long1(b *testing.B) { 81 for i := 0; i < benchloops; i++ { 82 if boolNaryAll2(T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) != T { panic("assertion failed") } 83 } 84 } 85 86 func BenchmarkBoolNaryAll2Long2(b *testing.B) { 87 for i := 0; i < benchloops; i++ { 88 if boolNaryAll2(T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, F) != F { panic("assertion failed") } 89 } 90 } 91 92 func BenchmarkBoolNaryAll2Long3(b *testing.B) { 93 for i := 0; i < benchloops; i++ { 94 if boolNaryAll2(F, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) != F { panic("assertion failed") } 95 } 96 } 97 98 func BenchmarkBoolNaryAll2Mixed(b *testing.B) { 99 for i := 0; i < benchloops; i++ { 100 if boolNaryAll2(T, T, T, T) != T { panic("assertion failed") } 101 if boolNaryAll2(F, T, T, T) != F { panic("assertion failed") } 102 if boolNaryAll2(F, T, T, T) != F { panic("assertion failed") } 103 if boolNaryAll2(T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) != T { panic("assertion failed") } 104 if boolNaryAll2(T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, F) != F { panic("assertion failed") } 105 if boolNaryAll2(F, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) != F { panic("assertion failed") } 106 } 107 } 108 109 // ===[ BoolNaryAny1 ]==============================================================================[ BoolNaryAny1 ]=== 110 111 func BenchmarkBoolNaryAny1Short1(b *testing.B) { 112 for i := 0; i < benchloops; i++ { 113 if boolNaryAny1(F, F, F, F) != F { panic("assertion failed") } 114 } 115 } 116 117 func BenchmarkBoolNaryAny1Short2(b *testing.B) { 118 for i := 0; i < benchloops; i++ { 119 if boolNaryAny1(T, F, F, F) != T { panic("assertion failed") } 120 } 121 } 122 123 func BenchmarkBoolNaryAny1Short3(b *testing.B) { 124 for i := 0; i < benchloops; i++ { 125 if boolNaryAny1(F, F, F, T) != T { panic("assertion failed") } 126 } 127 } 128 129 func BenchmarkBoolNaryAny1Long1(b *testing.B) { 130 for i := 0; i < benchloops; i++ { 131 if boolNaryAny1(F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F) != F { panic("assertion failed") } 132 } 133 } 134 135 func BenchmarkBoolNaryAny1Long2(b *testing.B) { 136 for i := 0; i < benchloops; i++ { 137 if boolNaryAny1(T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F) != T { panic("assertion failed") } 138 } 139 } 140 141 func BenchmarkBoolNaryAny1Long3(b *testing.B) { 142 for i := 0; i < benchloops; i++ { 143 if boolNaryAny1(F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T) != T { panic("assertion failed") } 144 } 145 } 146 147 func BenchmarkBoolNaryAny1Mixed(b *testing.B) { 148 for i := 0; i < benchloops; i++ { 149 if boolNaryAny1(F, F, F, F) != F { panic("assertion failed") } 150 if boolNaryAny1(T, F, F, F) != T { panic("assertion failed") } 151 if boolNaryAny1(F, F, F, T) != T { panic("assertion failed") } 152 if boolNaryAny1(F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F) != F { panic("assertion failed") } 153 if boolNaryAny1(T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F) != T { panic("assertion failed") } 154 if boolNaryAny1(F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T) != T { panic("assertion failed") } 155 } 156 } 157 158 // ===[ BoolNaryAny2 ]==============================================================================[ BoolNaryAny2 ]=== 159 160 func BenchmarkBoolNaryAny2Short1(b *testing.B) { 161 for i := 0; i < benchloops; i++ { 162 if boolNaryAny2(F, F, F, F) != F { panic("assertion failed") } 163 } 164 } 165 166 func BenchmarkBoolNaryAny2Short2(b *testing.B) { 167 for i := 0; i < benchloops; i++ { 168 if boolNaryAny2(T, F, F, F) != T { panic("assertion failed") } 169 } 170 } 171 172 func BenchmarkBoolNaryAny2Short3(b *testing.B) { 173 for i := 0; i < benchloops; i++ { 174 if boolNaryAny2(F, F, F, T) != T { panic("assertion failed") } 175 } 176 } 177 178 func BenchmarkBoolNaryAny2Long1(b *testing.B) { 179 for i := 0; i < benchloops; i++ { 180 if boolNaryAny2(F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F) != F { panic("assertion failed") } 181 } 182 } 183 184 func BenchmarkBoolNaryAny2Long2(b *testing.B) { 185 for i := 0; i < benchloops; i++ { 186 if boolNaryAny2(T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F) != T { panic("assertion failed") } 187 } 188 } 189 190 func BenchmarkBoolNaryAny2Long3(b *testing.B) { 191 for i := 0; i < benchloops; i++ { 192 if boolNaryAny2(F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T) != T { panic("assertion failed") } 193 } 194 } 195 196 func BenchmarkBoolNaryAny2Mixed(b *testing.B) { 197 for i := 0; i < benchloops; i++ { 198 if boolNaryAny2(F, F, F, F) != F { panic("assertion failed") } 199 if boolNaryAny2(T, F, F, F) != T { panic("assertion failed") } 200 if boolNaryAny2(F, F, F, T) != T { panic("assertion failed") } 201 if boolNaryAny2(F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F) != F { panic("assertion failed") } 202 if boolNaryAny2(T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F) != T { panic("assertion failed") } 203 if boolNaryAny2(F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T) != T { panic("assertion failed") } 204 } 205 } 206