Nobody in their right mind would make a shared-memory IPC based on busy-waiting. Here, your "server" is pegging a CPU core busy-waiting for a byte to change, then the client is pegging another core waiting for the reply. While technically it is communicating from one process to another, this naive approach cannot be compared to any of the other forms of IPC. What if you have 20 processes? Are you OK with 20 cores spinning at 100% 24/7? What about 200 processes? The approach presented here is not just naive but also does not scale. It is therefore highly impractical.
Nobody in their right mind would make a shared-memory IPC based on busy-waiting. Here, your "server" is pegging a CPU core busy-waiting for a byte to change, then the client is pegging another core waiting for the reply. While technically it is communicating from one process to another, this naive approach cannot be compared to any of the other forms of IPC. What if you have 20 processes? Are you OK with 20 cores spinning at 100% 24/7? What about 200 processes? The approach presented here is not just naive but also does not scale. It is therefore highly impractical.