From 48460703229d73fbacdd0d6b0d0f01a54f7ce751 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Tue, 2 Feb 2021 18:37:49 +0100 Subject: device: use a waiting sync.Pool instead of a channel Channels are FIFO which means we have guaranteed cache misses. Signed-off-by: Jason A. Donenfeld --- device/device.go | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'device/device.go') diff --git a/device/device.go b/device/device.go index bac361e..5f36036 100644 --- a/device/device.go +++ b/device/device.go @@ -67,12 +67,9 @@ type Device struct { } pool struct { - messageBufferPool *sync.Pool - messageBufferReuseChan chan *[MaxMessageSize]byte - inboundElementPool *sync.Pool - inboundElementReuseChan chan *QueueInboundElement - outboundElementPool *sync.Pool - outboundElementReuseChan chan *QueueOutboundElement + messageBuffers *WaitPool + inboundElements *WaitPool + outboundElements *WaitPool } queue struct { -- cgit v1.2.3-54-g00ecf