]> Cypherpunks repositories - gostls13.git/commitdiff
http: client+server benchmark
authorBrad Fitzpatrick <bradfitz@golang.org>
Fri, 27 May 2011 23:43:02 +0000 (16:43 -0700)
committerBrad Fitzpatrick <bradfitz@golang.org>
Fri, 27 May 2011 23:43:02 +0000 (16:43 -0700)
baseline runs: (6g, gopher.mtv)

http_test.BenchmarkClientServer  5000  412588 ns/op
http_test.BenchmarkClientServer  5000  403346 ns/op
http_test.BenchmarkClientServer  5000  413936 ns/op
http_test.BenchmarkClientServer  5000  410287 ns/op
http_test.BenchmarkClientServer  5000  388037 ns/op
http_test.BenchmarkClientServer  5000  405545 ns/op
http_test.BenchmarkClientServer  5000  405179 ns/op
http_test.BenchmarkClientServer  5000  413827 ns/op
http_test.BenchmarkClientServer  5000  392723 ns/op

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/4515155

src/pkg/http/serve_test.go

index 120a0260560b9dc30bf2381cca6fd1cde7fb9859..0acec226d5f38b14bf4d567bbb517e51f8c7ca10 100644 (file)
@@ -754,3 +754,29 @@ func TestZeroLengthPostAndResponse(t *testing.T) {
                }
        }
 }
+
+func BenchmarkClientServer(b *testing.B) {
+       b.StopTimer()
+       ts := httptest.NewServer(HandlerFunc(func(rw ResponseWriter, r *Request) {
+               fmt.Fprintf(rw, "Hello world.\n")
+       }))
+       defer ts.Close()
+       b.StartTimer()
+
+       for i := 0; i < b.N; i++ {
+               res, err := Get(ts.URL)
+               if err != nil {
+                       panic("Get: " + err.String())
+               }
+               all, err := ioutil.ReadAll(res.Body)
+               if err != nil {
+                       panic("ReadAll: " + err.String())
+               }
+               body := string(all)
+               if body != "Hello world.\n" {
+                       panic("Got body: " + body)
+               }
+       }
+
+       b.StopTimer()
+}