3 ms·
tl;dr Use memory mapped files to "talk" between processes. Use flyweights for the messages. Avoid strings in the messages wherever possible. Use single-thread
by DrBazza 8y ago
tl;dr
Use memory mapped files to "talk" between processes.
Use flyweights for the messages. Avoid strings in the messages wherever possible.
Use single-threaded processes wherever possible.
Isolate cpus.
Pin to isolated cpu.
Turn off hyperthreading.
Use some form of object pooling.
The last point is the only Java/GC language specific thing.
Having used Chronicle I can confirm that you can see single digit microsecond latency (or better), and reduce 99th percentile jitter with significant analysis.
- xtreme 8y agoHPC software like MPI has been using these kind of tricks for years to achieve sub-microsecond (often as small as 0.2-0.3 us) latency for inter-process communication.