summaryrefslogtreecommitdiffhomepage
path: root/pkg/unet/unet_test.go
diff options
context:
space:
mode:
authorJamie Liu <jamieliu@google.com>2019-06-13 15:52:49 -0700
committerShentubot <shentubot@google.com>2019-06-13 15:53:43 -0700
commit0c8603084d9399fde250c68fe30a084749d937ff (patch)
tree80c62211ecb8f3ced9ed15ca09606f3adc83e2f5 /pkg/unet/unet_test.go
parent4fdd560b76dfe4e3df83a8cba5a070ce7142b433 (diff)
Add p9 and unet benchmarks.
PiperOrigin-RevId: 253122166
Diffstat (limited to 'pkg/unet/unet_test.go')
-rw-r--r--pkg/unet/unet_test.go42
1 files changed, 42 insertions, 0 deletions
diff --git a/pkg/unet/unet_test.go b/pkg/unet/unet_test.go
index 763b23c7c..a3cc6f5d3 100644
--- a/pkg/unet/unet_test.go
+++ b/pkg/unet/unet_test.go
@@ -691,3 +691,45 @@ func TestControlMessage(t *testing.T) {
}
}
}
+
+func benchmarkSendRecv(b *testing.B, packet bool) {
+ server, client, err := SocketPair(packet)
+ if err != nil {
+ b.Fatalf("SocketPair: got %v, wanted nil", err)
+ }
+ defer server.Close()
+ defer client.Close()
+ go func() {
+ buf := make([]byte, 1)
+ for i := 0; i < b.N; i++ {
+ n, err := server.Read(buf)
+ if n != 1 || err != nil {
+ b.Fatalf("server.Read: got (%d, %v), wanted (1, nil)", n, err)
+ }
+ n, err = server.Write(buf)
+ if n != 1 || err != nil {
+ b.Fatalf("server.Write: got (%d, %v), wanted (1, nil)", n, err)
+ }
+ }
+ }()
+ buf := make([]byte, 1)
+ b.ResetTimer()
+ for i := 0; i < b.N; i++ {
+ n, err := client.Write(buf)
+ if n != 1 || err != nil {
+ b.Fatalf("client.Write: got (%d, %v), wanted (1, nil)", n, err)
+ }
+ n, err = client.Read(buf)
+ if n != 1 || err != nil {
+ b.Fatalf("client.Read: got (%d, %v), wanted (1, nil)", n, err)
+ }
+ }
+}
+
+func BenchmarkSendRecvStream(b *testing.B) {
+ benchmarkSendRecv(b, false)
+}
+
+func BenchmarkSendRecvPacket(b *testing.B) {
+ benchmarkSendRecv(b, true)
+}