This bug should track the performance issues for C++ HotRod client. By preliminary testing we've found that in a test where several hundred clients fire requests to the servers the performance of C++ client is 60% lower than Java client. Setup: * 4 cluster nodes, 3 driver nodes * PUT/GET with 1:2 ratio, 1024 byte entry size * *NO* delay between requests * The throughput for > 200 clients (total amount for all nodes) is roughly constant Results for 6.2.0.ER3.2: * C++ client: 48k ops/s * Java client: 120k ops/s
Although I don't believe this can change much, for performance we should compile with the Release profile (ER3.2 is compiled with the Debug profile): cmake -DHOTROD_JBOSS_HOME=/path/to/jdg-server -DCMAKE_BUILD_TYPE=Release ../path/to/source
After fixing the bugs in MurmurHash implementation (HRCPP-104) the performance has increased to > 120k ops/s for C++ implementation. Best results for recent Java implementation are 140k ops/s. These results are acceptable. Further performance change can be expected when asynchronous operations are implemented.