Establishing any IPC communication channel has setup costs and per message or per "message batch" usage costs: (CPU cycles + context switches) / channel setup (CPU cycles + context switches) / msg[-batch] Further, as recent Linux kernel network stack work has discovered, cache effects strongly proscribe batch processing rather than per-msg (or per packet) processing (seems obvious, I guess "in hindsight") to make 10G and above network links work well: Batch processing of network packets https://lwn.net/Articles/763056/ and see also: User-space networking with Snabb https://lwn.net/Articles/713918/ Is there a paper quantifying and comparing various IPC mechanism costs? Specifically and separately, is there a paper quantifying the setup and use costs of shared memory IPC (possibly in comparison with any other IPC mechanism)? TIA,