7 func BenchmarkPing(b *testing.B) {
8 client, server := testClientServer()
12 for i := 0; i < b.N; i++ {
13 rtt, err := client.Ping()
15 b.Fatalf("err: %v", err)
18 b.Fatalf("bad: %v", rtt)
23 func BenchmarkAccept(b *testing.B) {
24 client, server := testClientServer()
29 for i := 0; i < b.N; i++ {
30 stream, err := server.AcceptStream()
38 for i := 0; i < b.N; i++ {
39 stream, err := client.Open()
41 b.Fatalf("err: %v", err)
47 func BenchmarkSendRecv(b *testing.B) {
48 client, server := testClientServer()
52 sendBuf := make([]byte, 512)
53 recvBuf := make([]byte, 512)
55 doneCh := make(chan struct{})
57 stream, err := server.AcceptStream()
62 for i := 0; i < b.N; i++ {
63 if _, err := stream.Read(recvBuf); err != nil {
64 b.Fatalf("err: %v", err)
70 stream, err := client.Open()
72 b.Fatalf("err: %v", err)
75 for i := 0; i < b.N; i++ {
76 if _, err := stream.Write(sendBuf); err != nil {
77 b.Fatalf("err: %v", err)
83 func BenchmarkSendRecvLarge(b *testing.B) {
84 client, server := testClientServer()
87 const sendSize = 512 * 1024 * 1024
88 const recvSize = 4 * 1024
90 sendBuf := make([]byte, sendSize)
91 recvBuf := make([]byte, recvSize)
94 recvDone := make(chan struct{})
97 stream, err := server.AcceptStream()
102 for i := 0; i < b.N; i++ {
103 for j := 0; j < sendSize/recvSize; j++ {
104 if _, err := stream.Read(recvBuf); err != nil {
105 b.Fatalf("err: %v", err)
112 stream, err := client.Open()
114 b.Fatalf("err: %v", err)
117 for i := 0; i < b.N; i++ {
118 if _, err := stream.Write(sendBuf); err != nil {
119 b.Fatalf("err: %v", err)