Persevering with the dialogue from What’s the theoretical / sensible restrict of golang vs c / c++? Assertion of Rob on reminiscence communication wants appending:
I’m inquisitive about why Go’s concurrency mannequin might hit limitations. What are the constraints? Are there any sources that I can check with?
Limitations:
…
Sources:
…
The cited assertion is imprecise. I’m not positive what the creator tries to say.
Perhaps the creator meant to check with Go’s communication mechanism by way of channels. Channels are the manifestation of the Go proverb “Don’t talk by sharing reminiscence, share reminiscence by speaking.”
Channels are straightforward to purpose about, however sending information round as “messages” might be slower than manipulating information in-place. Go has mutexes and semaphores out there if channels hit a efficiency restrict or become unsuitable for complicated information entry conditions. So there’s a fallback if channels don’t scale effectively.
Unrelated to concurrency however value preserving in thoughts: Go’s rubbish collector generally is a limiting issue on efficiency, though there are methods out there for limiting allocations (and even flip them to zero) within the essential path(s) of a program.