cfaed Publications
STAMP-Rust: Language and Performance Comparison to C on Transactional Benchmarks
Reference
Felix Suchert, Jeronimo Castrillon, "STAMP-Rust: Language and Performance Comparison to C on Transactional Benchmarks", In Proceeding: Proceeeding of the BenchCouncil Transactions on Benchmarks, Standards and Evaluations (Bench22) (Gainaru, Ana and Zhang, Ce and Luo, Chunjie), Springer International Publishing, pp. 160–175, Cham, Nov 2022. [doi]
Abstract
Software Transactional Memory has been used as a synchronization mechanism that is easier to use and compose than locking ones. The mechanisms continued relevance in research and application design motivates considerations regarding safer implementations than existing C libraries. In this paper, we study the impact of the Rust programming language on STM performance and code quality. To facilitate the comparison, we manually translated the STAMP benchmark suite to Rust and also generated a version using a state-of-the-art C-to-Rust transpiler. We find that, while idiomatic implementations using safe Rust are generally slower than both C and transpiled code, they guarantee memory safety and improve code quality.
Bibtex
author = {Felix Suchert and Jeronimo Castrillon},
booktitle = {Proceeeding of the BenchCouncil Transactions on Benchmarks, Standards and Evaluations (Bench22)},
title = {STAMP-Rust: Language and Performance Comparison to C on Transactional Benchmarks},
doi = {10.1007/978-3-031-31180-2_10},
editor = {Gainaru, Ana and Zhang, Ce and Luo, Chunjie},
isbn = {978-3-031-31180-2},
pages = {160--175},
publisher = {Springer International Publishing},
url = {https://link.springer.com/chapter/10.1007/978-3-031-31180-2_10},
abstract = {Software Transactional Memory has been used as a synchronization mechanism that is easier to use and compose than locking ones. The mechanisms continued relevance in research and application design motivates considerations regarding safer implementations than existing C libraries. In this paper, we study the impact of the Rust programming language on STM performance and code quality. To facilitate the comparison, we manually translated the STAMP benchmark suite to Rust and also generated a version using a state-of-the-art C-to-Rust transpiler. We find that, while idiomatic implementations using safe Rust are generally slower than both C and transpiled code, they guarantee memory safety and improve code quality.},
address = {Cham},
month = nov,
year = {2022},
}
Downloads
2211_Suchert_BENCH [PDF]
Permalink
https://cfaed.tu-dresden.de/publications?pubId=3392