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

Publikation: Beitrag in Buch/Konferenzbericht/Sammelband/GutachtenBeitrag in KonferenzbandBeigetragenBegutachtung

Beitragende

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

OriginalspracheEnglisch
TitelBenchmarking, Measuring, and Optimizing - 14th Bench Council International Symposium, Bench 2022, Revised Selected Papers
Redakteure/-innenAna Gainaru, Ce Zhang, Chunjie Luo
Herausgeber (Verlag)Springer Science and Business Media B.V.
Seiten160-175
Seitenumfang16
ISBN (Print)9783031311796
PublikationsstatusVeröffentlicht - 2023
Peer-Review-StatusJa

Publikationsreihe

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

Konferenz

Titel14th International Symposium on Benchmarking, Measuring, and Optimization, Bench 2022
Dauer7 - 9 November 2022
StadtVirtual, Online

Externe IDs

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

Schlagworte

Schlagwörter

  • Memory Safety, Parallelism, Software Transactional Memory