1
0
mirror of https://github.com/golang/go synced 2024-10-05 04:21:22 -06:00
go/src/pkg/net
Brad Fitzpatrick 985b0992cd net/http: reuse bufio.Reader and bufio.Writer between conns
Saves over 8KB of allocations per new connection.

benchmark                             old ns/op    new ns/op    delta
BenchmarkServerFakeConnNoKeepAlive        28777        24927  -13.38%

benchmark                            old allocs   new allocs    delta
BenchmarkServerFakeConnNoKeepAlive           52           46  -11.54%

benchmark                             old bytes    new bytes    delta
BenchmarkServerFakeConnNoKeepAlive        13716         5286  -61.46%

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/7799047
2013-03-21 20:02:01 -07:00
..
http net/http: reuse bufio.Reader and bufio.Writer between conns 2013-03-21 20:02:01 -07:00
mail net/mail: make address parsing (more) public 2012-10-05 10:08:54 +10:00
rpc net/rpc/jsonrpc: nil pointer deference on invalid reply. 2013-03-12 11:45:56 -04:00
smtp net/smtp: remove data race from TestSendMail. 2012-12-17 10:45:33 -05:00
testdata
textproto all: remove now-unnecessary unreachable panics 2013-03-11 14:16:55 -07:00
url net/url: better path resolution 2013-03-11 15:03:07 -04:00
cgo_bsd.go
cgo_linux.go
cgo_netbsd.go
cgo_openbsd.go cgo: enable cgo on openbsd 2012-12-21 01:43:19 +11:00
cgo_stub.go
cgo_unix.go cgo: enable cgo on openbsd 2012-12-21 01:43:19 +11:00
conn_test.go net: fix windows and plan9 build 2013-03-13 07:42:55 -07:00
dial_test.go net: deflake TestDialTimeout 2013-03-14 09:42:29 -07:00
dial.go all: remove now-unnecessary unreachable panics 2013-03-11 14:16:55 -07:00
dialgoogle_test.go all: use t.Skip{,f} 2013-01-24 17:32:10 +11:00
dnsclient_unix.go
dnsclient.go gofmt: apply gofmt -w src misc 2012-10-30 13:38:01 -07:00
dnsconfig_unix.go net: rename files to clarify platform dependency 2012-09-11 07:37:43 +09:00
dnsmsg_test.go
dnsmsg.go net: fix a bad cast in dnsmsg.go 2012-11-01 12:57:44 -04:00
dnsname_test.go
empty.c net: fix build with CGO_ENABLED=0 2013-03-15 22:23:35 +04:00
example_test.go gofmt: apply gofmt -w src misc 2012-10-30 13:38:01 -07:00
fd_bsd.go net: permit pollster DelFD to return whether to call Wakeup 2013-02-06 17:18:53 -08:00
fd_plan9.go net: Implement FileListener, FileConn, and File methods for Plan 9 2013-02-26 01:26:40 +01:00
fd_poll_runtime.go net, runtime: enable runtime-integrated pollster on Linux/ARM. 2013-03-16 04:01:56 +08:00
fd_poll_unix.go net, runtime: enable runtime-integrated pollster on Linux/ARM. 2013-03-16 04:01:56 +08:00
fd_posix_test.go net: fix data races on deadline vars 2012-12-05 15:59:01 +11:00
fd_unix_test.go net: remove noisy test for issue 3590 2013-02-14 10:11:16 +11:00
fd_unix.go runtime: explicitly remove fd's from epoll waitset before close() 2013-03-21 12:54:19 +04:00
fd_windows.go net: fix windows build 2013-02-27 12:42:26 -08:00
file_plan9.go net: Implement FileListener, FileConn, and File methods for Plan 9 2013-02-26 01:26:40 +01:00
file_test.go net: pass tests on Plan 9 2013-02-28 07:18:02 +01:00
file_unix.go net, syscall: use accept4 and SOCK_CLOEXEC on Linux 2013-01-28 08:54:15 -08:00
file_windows.go
hosts_test.go
hosts.go
interface_bsd_test.go net: skip interface tests when required external command not found 2013-03-02 10:56:51 +09:00
interface_bsd.go net: revert Zone in IPNet temporally 2013-03-17 19:50:01 +09:00
interface_darwin.go src/pkg: fixed various typos 2013-03-20 16:32:37 -07:00
interface_freebsd.go src/pkg: fixed various typos 2013-03-20 16:32:37 -07:00
interface_linux_test.go net: skip interface tests when required external command not found 2013-03-02 10:56:51 +09:00
interface_linux.go net: revert Zone in IPNet temporally 2013-03-17 19:50:01 +09:00
interface_netbsd.go net: fix slow network interface manipulations 2013-02-28 14:58:41 +09:00
interface_openbsd.go net: fix slow network interface manipulations 2013-02-28 14:58:41 +09:00
interface_stub.go net: fix slow network interface manipulations 2013-02-28 14:58:41 +09:00
interface_test.go net: make use of testing.B.Skip and reflect.DeepEqual in test 2013-02-25 23:05:40 +09:00
interface_unix_test.go net: skip interface tests when required external command not found 2013-03-02 10:56:51 +09:00
interface_windows.go net: fix slow network interface manipulations 2013-02-28 14:58:41 +09:00
interface.go net: fix slow network interface manipulations 2013-02-28 14:58:41 +09:00
ip_test.go net: make use of reflect.DeepEqual in IP manipulation tests 2013-03-20 01:07:18 +09:00
ip.go net: revert Zone in IPNet temporally 2013-03-17 19:50:01 +09:00
ipraw_test.go net: use original raddr if getpeername fails 2013-03-13 14:49:24 -04:00
iprawsock_plan9.go src/pkg: fixed various typos 2013-03-20 16:32:37 -07:00
iprawsock_posix.go src/pkg: fixed various typos 2013-03-20 16:32:37 -07:00
iprawsock.go net: simplify Dial, Listen, ListenPacket and those helpers 2013-02-08 21:53:10 +09:00
ipsock_plan9.go net, os, syscall: Plan 9: adjust error handling 2013-02-28 06:43:21 +01:00
ipsock_posix.go net, cmd/fix: add IPv6 scoped addressing zone to INET, INET6 address structs 2012-11-27 00:45:42 +09:00
ipsock.go net: SplitHostPort: adjust error message for missing port in IPv6 addresses 2013-01-30 09:25:16 -08:00
lookup_plan9.go net: Plan 9: add lookupProtocol 2013-03-12 23:05:39 +01:00
lookup_test.go all: use t.Skip{,f} 2013-01-24 17:32:10 +11:00
lookup_unix.go net: add LookupNS(domain string) 2012-10-18 15:39:04 +09:00
lookup_windows.go net: prevent races during windows lookup calls 2013-02-04 13:05:20 +11:00
lookup.go net: close fds eagerly in DialTimeout 2012-11-08 10:35:16 -06:00
mac_test.go
mac.go
multicast_test.go net: require of both -external and -ipv6 flags to run IPv6 multicast tests 2013-03-13 08:00:01 +08:00
net_test.go net: pass tests on Plan 9 2013-02-28 07:18:02 +01:00
net.go net: document OpError 2013-02-14 09:29:34 -08:00
packetconn_test.go net: fix windows and plan9 build 2013-03-13 07:42:55 -07:00
parse_test.go all: use t.Skip{,f} 2013-01-24 17:32:10 +11:00
parse.go
pipe_test.go
pipe.go
port_test.go net: use windows GetAddrInfoW in LookupPort when possible 2013-01-18 17:05:04 +11:00
port_unix.go
port.go
protoconn_test.go net: make sure to use /tmp in unix domain socket tests 2013-03-13 07:26:21 +08:00
sendfile_freebsd.go net: refactoring in preparation for integrated network poller 2013-03-13 00:03:00 +04:00
sendfile_linux.go net: refactoring in preparation for integrated network poller 2013-03-13 00:03:00 +04:00
sendfile_stub.go
sendfile_windows.go net: fix connection resets when closed on windows 2012-10-31 10:24:37 +11:00
server_test.go net: allow concurrent UNIX socket tests if TMPDIR is unique. 2013-03-11 13:24:52 -04:00
sock_bsd.go net: never use backlog > 65535 2013-03-12 01:48:48 -04:00
sock_cloexec.go net: if accept4 returns EINVAL fall back to accept 2013-03-08 21:18:06 -08:00
sock_linux.go net: never use backlog > 65535 2013-03-12 01:48:48 -04:00
sock_posix.go net: use original raddr if getpeername fails 2013-03-13 14:49:24 -04:00
sock_unix.go net: delete duplicate listenerSockaddr 2013-02-08 17:02:08 +09:00
sock_windows.go net: never use backlog > 65535 2013-03-12 01:48:48 -04:00
sockopt_bsd.go
sockopt_linux.go
sockopt_posix.go net: more refactoring in preparation for runtime integrated pollster 2013-03-07 21:44:24 +04:00
sockopt_windows.go net: more refactoring in preparation for runtime integrated pollster 2013-03-07 21:44:24 +04:00
sockoptip_bsd.go net: delete unused IP-level socket option helpers 2012-09-11 08:56:28 +09:00
sockoptip_linux.go net: delete unused IP-level socket option helpers 2012-09-11 08:56:28 +09:00
sockoptip_posix.go net: delete unused IP-level socket option helpers 2012-09-11 08:56:28 +09:00
sockoptip_windows.go net: delete unused IP-level socket option helpers 2012-09-11 08:56:28 +09:00
sys_cloexec.go net: do not use RLock around Accept 2013-02-07 22:45:12 -05:00
tcp_test.go net: add TCP over IPv6 benchmarks 2013-03-03 11:25:49 +09:00
tcpsock_plan9.go net, os, syscall: Plan 9: adjust error handling 2013-02-28 06:43:21 +01:00
tcpsock_posix.go undo CL 5687057 / 58bc8aae4abb 2013-01-19 23:13:01 +09:00
tcpsock.go net: allow "" as a hint wildcard to Resolve{IP,UDP,TCP}Addr 2012-12-01 14:49:54 +09:00
timeout_test.go net: fix accept/connect deadline handling 2013-03-07 17:03:40 +04:00
udp_test.go all: use t.Skip{,f} 2013-01-24 17:32:10 +11:00
udpsock_plan9.go src/pkg: fixed various typos 2013-03-20 16:32:37 -07:00
udpsock_posix.go src/pkg: fixed various typos 2013-03-20 16:32:37 -07:00
udpsock.go net: allow "" as a hint wildcard to Resolve{IP,UDP,TCP}Addr 2012-12-01 14:49:54 +09:00
unicast_posix_test.go all: use t.Skip{,f} 2013-01-24 17:32:10 +11:00
unix_test.go net: fix windows build 2013-03-03 19:10:59 +09:00
unixsock_plan9.go net: fix unixgram 2013-02-09 08:18:32 +09:00
unixsock_posix.go net: fix unixgram 2013-02-09 08:18:32 +09:00
unixsock.go