net: Don't force epoll/kqueue to wake up in order to add new events.
In conjunction with the non-blocking system call CL, this
gives about an 8% performance improvement on a client/server
test running on my local machine.
LGTM The Linux comments apply to the other systems too. http://codereview.appspot.com/4272057/diff/3001/src/pkg/net/fd.go File src/pkg/net/fd.go (right): http://codereview.appspot.com/4272057/diff/3001/src/pkg/net/fd.go#newcode5 ...
14 years, 7 months ago
(2011-03-17 05:19:44 UTC)
#2
rsc@golang.org writes: > http://codereview.appspot.com/4272057/diff/3001/src/pkg/net/fd_linux.go#newcode44 > src/pkg/net/fd_linux.go:44: var ev syscall.EpollEvent > This is a malloc because ...
14 years, 7 months ago
(2011-03-17 15:45:11 UTC)
#3
rsc@golang.org writes:
>
http://codereview.appspot.com/4272057/diff/3001/src/pkg/net/fd_linux.go#newco...
> src/pkg/net/fd_linux.go:44: var ev syscall.EpollEvent
> This is a malloc because ev has its address taken below.
> Should move into pollster struct and then use
>
> ev := &p.addEv
I was going to do that in a separate CL which makes fd_linux.go like
fd_darwin.go in that it holds an array of events in the pollster struct
rather than calling epoll_wait once per event. OK to wait for that?
Ian
> I was going to do that in a separate CL which makes fd_linux.go like ...
14 years, 7 months ago
(2011-03-17 15:50:50 UTC)
#4
> I was going to do that in a separate CL which makes fd_linux.go like
> fd_darwin.go in that it holds an array of events in the pollster struct
> rather than calling epoll_wait once per event. OK to wait for that?
Sure.
Issue 4272057: code review 4272057: net: Don't force epoll/kqueue to wake up in order to ad...
(Closed)
Created 14 years, 7 months ago by iant
Modified 14 years, 7 months ago
Reviewers:
Base URL:
Comments: 7