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 case! 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... Thanks! ~james