Red Hat Bugzilla – Bug 1026352
C++ vs Java HotRod client performance
Last modified: 2018-01-29 20:43:04 EST
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.
* 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.