]> Cypherpunks repositories - gostls13.git/commit
runtime: use GetQueuedCompletionStatusEx on windows if available
authorDmitriy Vyukov <dvyukov@google.com>
Thu, 8 Aug 2013 13:41:57 +0000 (17:41 +0400)
committerDmitriy Vyukov <dvyukov@google.com>
Thu, 8 Aug 2013 13:41:57 +0000 (17:41 +0400)
commit65834685d3df3e6219cbf3ab471a13fa997c5b98
treec95ef79e50410fcfcefea55eb4943de38cae91e2
parented8c5501c743d702016044e10c92e4a211765502
runtime: use GetQueuedCompletionStatusEx on windows if available
GetQueuedCompletionStatusEx allows to dequeue a batch of completion
notifications, which is more efficient than dequeueing one by one.

benchmark                           old ns/op    new ns/op    delta
BenchmarkClientServerParallel4         100605        90945   -9.60%
BenchmarkClientServerParallel4-2        90225        74504  -17.42%

R=golang-dev, alex.brainman
CC=golang-dev
https://golang.org/cl/12436044
src/pkg/runtime/netpoll.goc
src/pkg/runtime/netpoll_windows.c
src/pkg/runtime/os_windows.c
src/pkg/runtime/os_windows.h
src/pkg/runtime/runtime.h