Modern C++ and Rust in embedded memory-constrained systems
Examensarbete för masterexamen
Embedded electronic system design (MPEES), MSc
Balakrishnan, Ashwin Kumar
Nattanmai Ganesh, Gaurav
Low level languages like C and traditional C++ have been used extensively in embedded systems for a long time due to the critical advantages such as low runtime overhead and good memory management, despite their memory safety issues. In an attempt to overcome the safety issues, many high level languages have been introduced recently, albeit with a high execution time overhead. This thesis mainly focuses on Modern C++ and Rust, which is a multi-paradigm language introduced for memory safety and improved performance. We make a comparison study on using these two high level languages in a memory-constrained embedded system. The comparison is made by running both the languages in resource intensive applications, such as artificial engine sound generation and Quicksort of large arrays on a single hardware platform. The performance analysis focuses on the parameters: execution time, memory usage and development time, which develops a conclusion as to why high level languages can be used in memory constrained embedded systems and which language performs better in this case.