We gratefully acknowledge support from
the Simons Foundation and member institutions.
Full-text links:

Download:

Current browse context:

cs.PL

Change to browse by:

References & Citations

DBLP - CS Bibliography

Bookmark

(what is this?)
CiteULike logo BibSonomy logo Mendeley logo del.icio.us logo Digg logo Reddit logo

Computer Science > Programming Languages

Title: Performance vs Programming Effort between Rust and C on Multicore Architectures: Case Study in N-Body

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 case study the simulation of N computational bodies (N-Body), a popular problem in the HPC community. Based on the experimental work, it was possible to establish that Rust is a language that reduces programming effort while maintaining acceptable performance levels, meaning that it is a possible alternative to C for HPC.
Comments: This article was accepted for publication in 2021 XLVI Latin American Computing Conference (CLEI)
Subjects: Programming Languages (cs.PL); Distributed, Parallel, and Cluster Computing (cs.DC); Software Engineering (cs.SE)
Cite as: arXiv:2107.11912 [cs.PL]
  (or arXiv:2107.11912v2 [cs.PL] for this version)

Submission history

From: Enzo Rucci [view email]
[v1] Mon, 26 Jul 2021 00:09:35 GMT (696kb,D)
[v2] Tue, 19 Oct 2021 22:26:50 GMT (696kb,D)

Link back to: arXiv, form interface, contact.