I require an ultra-low latency interprocess communication library that has latencies on the order of 1 microsecond. This will be difficult to achieve but is theoretically possible using shared memory ring buffers and events/condition variables. The following example does not have the characteristics that I need but demonstrates that the performance is possible:
[url removed, login to view]
The library must be compatible with Windows, Linux, and Mac OS (most likely through POSIX api). Because the performance requirement is so tight it will be necessary to use native kernel functions on each os. The system will work by having a central service create endpoint pairs, and then pass those endpoints to different processes through another ipc method like loopback tcp or pipes. The endpoints will behave like full duplex socket connections with send/recv functions except with as close to zero latency as possible. The recv function will be blocking and use a separate thread to poll. While the latency must be kept to a minimum it must not use excessive cpu cycles when blocking. It must use a kernel event to determine when to read. The endpoint connection must be resistant to eavesdropping by other processes.