From 176ba51313c18d19b84fc6dbb89a9afb999ebb4e Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Mon, 4 Jan 2021 11:33:46 +1100 Subject: [PATCH] Add benchmark for receiving handshakes with large skey counts --- mse/mse_test.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/mse/mse_test.go b/mse/mse_test.go index ff2cfc54..b10ca8f9 100644 --- a/mse/mse_test.go +++ b/mse/mse_test.go @@ -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) + } + } +} -- 2.44.0