I am currently developing a simple controller. It consists of a GUI
(C++) and a controller (ruby) that talks to a serial port.
Now, I understand that this can (or maybe should) be combined into a
single app that communicated directly with the serial port. However,
I wouldn’t have the opportunity to ask this question if that were the
So, I have an embedded ARM proc with about 200MHz, and I want this app
to feel as responsive as possible. The GUI and controller will both
run on this machine. When a button on the GUI is pressed, the command
is sent to the controller, the controller sends a command out of the
serial port, and an action is taken.
Let’s assume that all parts not including the IPC between the GUI and
the controller are working fine. My question deals with the local IPC
between the GUI and the controller.
I really like XML/RPC. It is really easy and straightforward in Ruby,
and has worked really well in the past for network-based distributable
apps. However, in this case I can see how the overhead of XML and
“IP” communication might make the app feel too slow (It would be bound
to localhost, of course).
I would really like to use a standard protocol, preferably one
natively implemented in ruby already. I just need it to be fast…
So, with all of that info, what does the community recommend for a
lightening fast interprocess communication method?
Feel free to tell me that XML/RPC is fast enough, if it is…