]> Cypherpunks repositories - gostls13.git/commitdiff
net/http: add TLS benchmark
authorDmitriy Vyukov <dvyukov@google.com>
Sat, 28 Jun 2014 01:30:09 +0000 (18:30 -0700)
committerDmitriy Vyukov <dvyukov@google.com>
Sat, 28 Jun 2014 01:30:09 +0000 (18:30 -0700)
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/110080045

src/pkg/net/http/serve_test.go

index 9e4d226bfe0f7c89ec5779e4f000c2f46c22dc4b..8af357e2bb10f38ebaae29f0751faa1c9afa92c9 100644 (file)
@@ -2559,24 +2559,43 @@ func BenchmarkClientServer(b *testing.B) {
 }
 
 func BenchmarkClientServerParallel4(b *testing.B) {
-       benchmarkClientServerParallel(b, 4)
+       benchmarkClientServerParallel(b, 4, false)
 }
 
 func BenchmarkClientServerParallel64(b *testing.B) {
-       benchmarkClientServerParallel(b, 64)
+       benchmarkClientServerParallel(b, 64, false)
 }
 
-func benchmarkClientServerParallel(b *testing.B, parallelism int) {
+func BenchmarkClientServerParallelTLS4(b *testing.B) {
+       benchmarkClientServerParallel(b, 4, true)
+}
+
+func BenchmarkClientServerParallelTLS64(b *testing.B) {
+       benchmarkClientServerParallel(b, 64, true)
+}
+
+func benchmarkClientServerParallel(b *testing.B, parallelism int, useTLS bool) {
        b.ReportAllocs()
-       ts := httptest.NewServer(HandlerFunc(func(rw ResponseWriter, r *Request) {
+       ts := httptest.NewUnstartedServer(HandlerFunc(func(rw ResponseWriter, r *Request) {
                fmt.Fprintf(rw, "Hello world.\n")
        }))
+       if useTLS {
+               ts.StartTLS()
+       } else {
+               ts.Start()
+       }
        defer ts.Close()
        b.ResetTimer()
        b.SetParallelism(parallelism)
        b.RunParallel(func(pb *testing.PB) {
+               noVerifyTransport := &Transport{
+                       TLSClientConfig: &tls.Config{
+                               InsecureSkipVerify: true,
+                       },
+               }
+               client := &Client{Transport: noVerifyTransport}
                for pb.Next() {
-                       res, err := Get(ts.URL)
+                       res, err := client.Get(ts.URL)
                        if err != nil {
                                b.Logf("Get: %v", err)
                                continue