During test we profiled the exchange and realized we spent 80% of the transfer time in the JNI call poll and recv, since we need to read the first multi part message to get the publisher ID and the second for the message size. This information is used by the monitor for defining overloading publishers.
We propose to re-write the few lines of code of the exchange in C++ in order to avoid JNI calls. Notice that a special attention must be given to the exchange stat that is currently a thread.
During test we profiled the exchange and realized we spent 80% of the transfer time in the JNI call poll and recv, since we need to read the first multi part message to get the publisher ID and the second for the message size. This information is used by the monitor for defining overloading publishers.
We propose to re-write the few lines of code of the exchange in C++ in order to avoid JNI calls. Notice that a special attention must be given to the exchange stat that is currently a thread.