2
0
mirror of synced 2025-02-23 14:18:13 +00:00

Add benchmark for receiving handshakes with large skey counts

This commit is contained in:
Matt Joiner 2021-01-04 11:33:46 +11:00
parent 73823ee61d
commit 176ba51313

View File

@ -253,3 +253,28 @@ func BenchmarkPipeRC4(t *testing.B) {
}
}
}
func BenchmarkSkeysReceive(b *testing.B) {
var skeys [][]byte
for range iter.N(100000) {
skeys = append(skeys, make([]byte, 20))
}
fillRand(b, skeys...)
initSkey := skeys[len(skeys)/2]
//c := qt.New(b)
b.ReportAllocs()
b.ResetTimer()
for range iter.N(b.N) {
initiator, receiver := net.Pipe()
go func() {
_, _, err := InitiateHandshake(initiator, initSkey, nil, AllSupportedCrypto)
if err != nil {
panic(err)
}
}()
res := ReceiveHandshakeEx(receiver, sliceIter(skeys), DefaultCryptoSelector)
if res.error != nil {
panic(res.error)
}
}
}