fastest (low latency) method for Inter Process Communication between Java and C/C++

后端 未结 10 859
隐瞒了意图╮
隐瞒了意图╮ 2020-11-29 14:45

I have a Java app, connecting through TCP socket to a \"server\" developed in C/C++.

both app & server are running on the same machine, a Solaris box (but we\'re

10条回答
  •  一整个雨季
    2020-11-29 15:23

    A late arrival, but wanted to point out an open source project dedicated to measuring ping latency using Java NIO.

    Further explored/explained in this blog post. The results are(RTT in nanos):

    Implementation, Min,   50%,   90%,   99%,   99.9%, 99.99%,Max
    IPC busy-spin,  89,    127,   168,   3326,  6501,  11555, 25131
    UDP busy-spin,  4597,  5224,  5391,  5958,  8466,  10918, 18396
    TCP busy-spin,  6244,  6784,  7475,  8697,  11070, 16791, 27265
    TCP select-now, 8858,  9617,  9845,  12173, 13845, 19417, 26171
    TCP block,      10696, 13103, 13299, 14428, 15629, 20373, 32149
    TCP select,     13425, 15426, 15743, 18035, 20719, 24793, 37877
    

    This is along the lines of the accepted answer. System.nanotime() error (estimated by measuring nothing) is measured at around 40 nanos so for the IPC the actual result might be lower. Enjoy.

提交回复
热议问题