IPC communication between rust, c++, and python

41 points KoreanBoyscout

There was a post earlier on how to use shared memory between C++ and rust:
https://www.reddit.com/r/rust/comments/v311qu/shared\_memory\_between\_rust\_and\_c/

and one of the answers suggested Apache Arrow Plasma and it was in fact exactly what I was looking for, until I found out that it was deprecated and won't be supported (https://arrow.apache.org/docs/python/plasma.html)

I am planning on using rust, C++ and python. I've actually implemented a way to memory map the same file using only C++ (I mmap a C++ class to a file). As you may have noticed, since it is a C++ class, there is no good way to read it when I use python or rust.

I'm looking for an approach that is low latency. I've looked at the following:

  • queue based -> this while convenient, will be slower than shared memory.
  • apache feather -> this uses compression so will be slower.

Any suggestions would be much appreciated!