Performance vs Programming Effort between Rust and C on Multicore Architectures: Case Study in N-Body
Manuel Costanzo, Enzo Rucci, Marcelo Naiouf, Armando De, Giusti

TL;DR
This study compares Rust and C for high-performance computing, showing Rust reduces programming effort while maintaining acceptable performance in an N-Body simulation case study.
Contribution
It provides empirical evidence that Rust can be a viable alternative to C in HPC, balancing performance and development effort.
Findings
Rust reduces programming effort compared to C.
Rust maintains acceptable performance levels in HPC tasks.
Rust is a feasible alternative to C for high-performance computing.
Abstract
Historically, Fortran and C have been the default programming languages in High-Performance Computing (HPC). In both, programmers have primitives and functions available that allow manipulating system memory and interacting directly with the underlying hardware, resulting in efficient code in both response times and resource use. On the other hand, it is a real challenge to generate code that is maintainable and scalable over time in these types of languages. In 2010, Rust emerged as a new programming language designed for concurrent and secure applications, which adopts features of procedural, object-oriented and functional languages. Among its design principles, Rust is aimed at matching C in terms of efficiency, but with increased code security and productivity. This paper presents a comparative study between C and Rust in terms of performance and programming effort, selecting as a…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Parallel Computing and Optimization Techniques · Distributed systems and fault tolerance
