3 ms·
> Channels in Go are fully synchronized, which implies locking inside the inner loop. That smells strongly like an optimization opportunity waiting to happen,
by zamalek 4y ago
> Channels in Go are fully synchronized, which implies locking inside the inner loop.
That smells strongly like an optimization opportunity waiting to happen, and here we have a profile that can be used to test it. chanrecv seems to have no fast-path for buffered channels with data and always locks. Has nobody thought of making this at least partially lock-free?