A Comparison of Performance & Implementation Complexity of Multithreaded Applications in Rust, Java and C++

University essay from KTH/Skolan för elektroteknik och datavetenskap (EECS)

Author: Hugo Heyman; Love Brandefelt; [2020]

Keywords: ;

Abstract: With computer systems increasingly relying on multithreading for increasing performance the importance of multithreaded programs also increase. In this comparative study of performance and implementation complexity, the same multithreaded key-value store database was developed in three languages: Java, Rust and C++. By using a read-focused and a write-focused test, the performance of the three implementations were compared. The amount of operations and cores was varied between the tests. The implementation complexity of the programs was compared by the number of lines of codes (LOC). The results showed that Java was measurably slower at all tests while Rust and C++ displayed roughly equal performance. However, C++ required significantly more lines of code than Rust and Java. This led to the conclusion that in the case of implementing a multithreaded key-value store, Rust is the best suited language.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)