The impact of programming language choice on execution time when performing virtual simulation with a driver model: A comparison of C++ and Python performance using the open simulation interface (OSI) in esmini - Soydas, Burak C. (My University, 2024)
In the past decades the automotive industry increased the usage of computer simulations in diverse fields for the purposes like Verification & Validation (V & V), research, development and with progress made in the development of Automated Driving System (ADS) and Advanced Driver Assistant Systems (ADAS), the legislation. One form of computer simulation used for those purposes are virtual simulations. In the case of research for ADS, driver behavior and driver models (DM), a virtual world is created with the intention to recreated a real-world scenario for simulation applications. The many benefits it offers for this purpose can be improved by using more complex algorithms or larger-scale simulations. Based on the complexity and computation required for increasing the accuracy of those, the available performance might be a limiting factor. Therefore, the focus of this thesis was on comparing the performance of a compiled and an interpreted programming language driving a minimal reproducible example of virtual simulation as it could be implemented for the stated research applications. The open-source environment simulator esmini was used together with a DM based on the theory of predictive processing. Respectively, the main function execution times and statistics of the GNU time function were collected. Both parts of the simulation were implemented in C++ and Python. The results showed substantially faster times for the C++ DMs main function, and that wrapping the esmini library in Python using the ctypes library didn’t affect the simulations main function execution. Statistics of GNU time showed better results for both, the DM and simulation, when C++ was used.
Keywords: Simulation; Driver Model; C++; Python; Performance; ADAS; ADS