STAMP-Rust: Language and Performance Comparison to C on Transactional Benchmarks

Research output: Contribution to book/conference proceedings/anthology/reportConference contributionContributedpeer-review

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.

Details

Original languageEnglish
Title of host publicationBenchmarking, Measuring, and Optimizing - 14th Bench Council International Symposium, Bench 2022, Revised Selected Papers
EditorsAna Gainaru, Ce Zhang, Chunjie Luo
PublisherSpringer Science and Business Media B.V.
Pages160-175
Number of pages16
ISBN (print)9783031311796
Publication statusPublished - 2023
Peer-reviewedYes

Publication series

SeriesLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume13852 LNCS
ISSN0302-9743

Conference

Title14th International Symposium on Benchmarking, Measuring, and Optimization, Bench 2022
Duration7 - 9 November 2022
CityVirtual, Online

External IDs

ORCID /0000-0002-5007-445X/work/160049124

Keywords

Keywords

  • Memory Safety, Parallelism, Software Transactional Memory