Is mmap the best way to communicate between processes?

One advantage of mmap over physical file is indeed speedup, but anything is going to be faster than a physical file!

One advantage of mmap over physical file is indeed speedup, but anything is going to be faster than a physical file! The easiest way to communicate between to processes is either a pipe or a socket. They are easier because they are streams, so they do not impose a limit on the length of the data you can exchange between the processes, contrary to a file or a mmap which have bounds.

I guess one place that the mmap would have an advantage over sockets would be if something huge would have to be shared among the scripts. But for simple IPC sockets would be better. – daramarak Apr 29 '10 at 15:38.

It might depend on what you want to communicate. If you are just giveing a massive data set from one app to the other then mmap files might make sense. If you have messages then some sort of IPC/RPC protocol may be better.

If you are streaming data from one app to the other pipes/sockets might be better. With mmaps you still have to manage them as a file and so you have to open and close them in a way that will synchronise. This may affect performance, and so you may want to use streams/pipes.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions