The problem with message based concurrency that relies on OS mechanisms (either network based or kernel based like pipes, MQs) is a system call. And a hidden cost of this (since meltdown and spectre) is a cache clear - which can hurt your app. It may be acceptable trade off, but you need to be conscious of that
@sirnawaz Жыл бұрын
You can have in-process message-queues as well, like channels in golang, or mpsc in Rust. These are fast and quite helpful.
@adamkulpa8846 Жыл бұрын
Looks like the Actor model.
@simonfarre4907 Жыл бұрын
Yes because the actor model is built on message passing.