Engels (2016) has done a great comparison based on performance for Java and C++. In his study, he states “To demonstrate that, I’ve developed a set of simple benchmarks that test some of the critical aspects of the software used in a trading system implementation: network performance (Network), calculation performance (BlackScholes) and multi-threaded performance (WorkQueue)“. Following are the results (rounded to 2 decimal places) of his study:
C++ | Java | |||
Total Time (secs) | USec Per Op | Total Time (secs) | USec Per Op | |
Network | 3.30 | 6.61 | 3.60 | 7.22 |
BlackScholes | 2.46 | 0.49 | 3.09 | 0.62 |
WorkQueue | 3.05 | 0.61 | 1.19 | 0.24 |
BlackScholes Improved | 0.38 | 0.08 | 0.56 | 0.11 |
BlackScholes Improved #2 | 0.19 | 0.04 | 0.19 | 0.04 |
Engels (2016) concludes “In summary, it is clear that the raw performance of modern Java is equal to, if not superior to C++ systems, and that the quality of the code is the most important factor in the performance of the system.”
References
Engles, R. (2016) Java vs. C++ Performance Face-Off, Part II. Available at: http://blog.optionscity.com/java-vs.-c-performance-face-off-part-ii (Accessed: 3 July, 2017)