MCPcopy Index your code
hub / github.com/gobwas/ws / BenchmarkCipher

Function BenchmarkCipher

cipher_test.go:127–191  ·  view source on GitHub ↗
(b *testing.B)

Source from the content-addressed store, hash-verified

125}
126
127func BenchmarkCipher(b *testing.B) {
128 for _, bench := range []struct {
129 size int
130 offset int
131 }{
132 {
133 size: 7,
134 offset: 1,
135 },
136 {
137 size: 125,
138 },
139 {
140 size: 1024,
141 },
142 {
143 size: 4096,
144 },
145 {
146 size: 4100,
147 offset: 4,
148 },
149 {
150 size: 4099,
151 offset: 3,
152 },
153 {
154 size: (1 << 15) + 7,
155 offset: 49,
156 },
157 } {
158 bts := make([]byte, bench.size)
159 _, err := rand.Read(bts)
160 if err != nil {
161 b.Fatal(err)
162 }
163
164 var mask [4]byte
165 _, err = rand.Read(mask[:])
166 if err != nil {
167 b.Fatal(err)
168 }
169
170 b.Run(fmt.Sprintf("naive_bytes=%d;offset=%d", bench.size, bench.offset), func(b *testing.B) {
171 var sink int64
172 b.SetBytes(int64(bench.size))
173 b.ResetTimer()
174 for i := 0; i < b.N; i++ {
175 r := cipherNaiveNoCp(bts, mask, bench.offset)
176 sink += int64(len(r))
177 }
178 sinkValue(sink)
179 })
180 b.Run(fmt.Sprintf("bytes=%d;offset=%d", bench.size, bench.offset), func(b *testing.B) {
181 var sink int64
182 b.SetBytes(int64(bench.size))
183 b.ResetTimer()
184 for i := 0; i < b.N; i++ {

Callers

nothing calls this directly

Calls 4

cipherNaiveNoCpFunction · 0.85
sinkValueFunction · 0.85
CipherFunction · 0.85
ReadMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…