From: Mikio Hara Date: Sun, 3 Mar 2013 02:25:49 +0000 (+0900) Subject: net: add TCP over IPv6 benchmarks X-Git-Tag: go1.1rc2~715 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=13393fb6c7bf78a61ea3f44753396687abe2c5b5;p=gostls13.git net: add TCP over IPv6 benchmarks R=golang-dev, dave CC=golang-dev https://golang.org/cl/7433044 --- diff --git a/src/pkg/net/tcp_test.go b/src/pkg/net/tcp_test.go index 1d54b3adcc..6c4485a948 100644 --- a/src/pkg/net/tcp_test.go +++ b/src/pkg/net/tcp_test.go @@ -11,23 +11,51 @@ import ( "time" ) -func BenchmarkTCPOneShot(b *testing.B) { - benchmarkTCP(b, false, false) +func BenchmarkTCP4OneShot(b *testing.B) { + benchmarkTCP(b, false, false, "127.0.0.1:0") } -func BenchmarkTCPOneShotTimeout(b *testing.B) { - benchmarkTCP(b, false, true) +func BenchmarkTCP4OneShotTimeout(b *testing.B) { + benchmarkTCP(b, false, true, "127.0.0.1:0") } -func BenchmarkTCPPersistent(b *testing.B) { - benchmarkTCP(b, true, false) +func BenchmarkTCP4Persistent(b *testing.B) { + benchmarkTCP(b, true, false, "127.0.0.1:0") } -func BenchmarkTCPPersistentTimeout(b *testing.B) { - benchmarkTCP(b, true, true) +func BenchmarkTCP4PersistentTimeout(b *testing.B) { + benchmarkTCP(b, true, true, "127.0.0.1:0") } -func benchmarkTCP(b *testing.B, persistent, timeout bool) { +func BenchmarkTCP6OneShot(b *testing.B) { + if !supportsIPv6 { + b.Skip("ipv6 is not supported") + } + benchmarkTCP(b, false, false, "[::1]:0") +} + +func BenchmarkTCP6OneShotTimeout(b *testing.B) { + if !supportsIPv6 { + b.Skip("ipv6 is not supported") + } + benchmarkTCP(b, false, true, "[::1]:0") +} + +func BenchmarkTCP6Persistent(b *testing.B) { + if !supportsIPv6 { + b.Skip("ipv6 is not supported") + } + benchmarkTCP(b, true, false, "[::1]:0") +} + +func BenchmarkTCP6PersistentTimeout(b *testing.B) { + if !supportsIPv6 { + b.Skip("ipv6 is not supported") + } + benchmarkTCP(b, true, true, "[::1]:0") +} + +func benchmarkTCP(b *testing.B, persistent, timeout bool, laddr string) { const msgLen = 512 conns := b.N numConcurrent := runtime.GOMAXPROCS(-1) * 16 @@ -61,7 +89,7 @@ func benchmarkTCP(b *testing.B, persistent, timeout bool) { } return true } - ln, err := Listen("tcp", "127.0.0.1:0") + ln, err := Listen("tcp", laddr) if err != nil { b.Fatalf("Listen failed: %v", err) }