runtime: use doubly-linked lists for channel send/recv queues.
Avoids a potential O(n^2) performance problem when dequeueing from very popular channels. benchmark old ns/op new ns/op delta BenchmarkChanPopular 2563782 627201 -75.54% Change-Id: I231aaeafea0ecd93d27b268a0b2128530df3ddd6 Reviewed-on: https://go-review.googlesource.com/1200Reviewed-by: Russ Cox <rsc@golang.org>
Showing
Please register or sign in to comment