What can the programming language Rust do for astrophysics?
arXiv:1702.02951 · doi:10.1017/S1743921316013168
Abstract
The astrophysics community uses different tools for computational tasks such as complex systems simulations, radiative transfer calculations or big data. Programming languages like Fortran, C or C++ are commonly present in these tools and, generally, the language choice was made based on the need for performance. However, this comes at a cost: safety. For instance, a common source of error is the access to invalid memory regions, which produces random execution behaviors and affects the scientific interpretation of the results. In 2015, Mozilla Research released the first stable version of a new programming language named Rust. Many features make this new language attractive for the scientific community, it is open source and it guarantees memory safety while offering zero-cost abstraction. We explore the advantages and drawbacks of Rust for astrophysics by re-implementing the fundamental parts of Mercury-T, a Fortran code that simulates the dynamical and tidal evolution of multi-planet systems.
arXiv commentTo appear in the proceedings of the IAU Symposium 325 on Astroinformatics
References in corpus (4)
- WHFast: A fast and unbiased implementation of a symplectic Wisdom-Holman integrator for long term gravitational simulations
- Rust-Bio - a fast and safe bioinformatics library
- Mercury-T: A new code to study tidally evolving multi-planet systems. Applications to Kepler-62
- Experience Report: Developing the Servo Web Browser Engine using Rust