Comparison of Rust, Go, and OpenMP in the Implementation of Concurrent and Parallel Algorithms

  • Lucas Braatz Araujo UFPEL
  • André Rauber Du Bois UFPEL
  • Gerson Geraldo H. Cavalheiro UFPEL

Abstract


This article presents a project that conducts a comparative study of the Rust, Go, and OpenMP languages in the context of parallel and concurrent programming. The research focuses on analyzing the expressiveness, programming effort, and efficiency of each of these languages in implementing classic concurrency algorithms. The methodology involves the use of the GQM model (Goal, Questions, and Metrics), and the present text presents preliminary results obtained by comparing the implementations of the Producer-Consumer problem.
Keywords: Parallel and Distributed Algorithms, High Performance Computing Applications in Science and Engineering, Languages, Compilers, and Tools for High Performance, Operating Systems

References

Basili, V. R., Caldiera, G., and Rombach, D. H. (1994). The Goal Question Metric Approach, volume I. John Wiley & Sons.

Dagum, L. and Menon, R. (1998). Openmp: An industry-standard api for shared-memory programming. IEEE Computational Science & Engineering, 5(1):46–55.

Lee, K., Song, H., Kim, J., and Ryu, S. (2020). Understanding real-world concurrency bugs in go. Proceedings of the ACM on Programming Languages, 4(OOPSLA):1–30.

Matsakis, N. D. and Klock, F. S. (2014). The Rust language. In Proc. of the 2014 ACM SIGAda An. Conf. on High Integrity Language Technology, pages 103–104.

Pankratius, V., Adl-Tabatabai, A.-R., and Garzaran, M. J. (2009). Software engineering for multicore systems: An experience report. IEEE Software, 26(6):20–29.

Togashi, N. and Klyuev, V. (2014). Concurrency in go and java: Performance analysis. In 2014 4th IEEE Inter. Conf. on Information Science and Technology.

Trobec, R., Slivnik, B., Bulic, P., and Robić, B. (2018). Programming multi-core and shared memory multiprocessors using openmp. In Introduction to Parallel Computing, Undergraduate Topics in Computer Science, pages 75–108. Springer, Cham.
Published
2025-04-23
ARAUJO, Lucas Braatz; DU BOIS, André Rauber; CAVALHEIRO, Gerson Geraldo H.. Comparison of Rust, Go, and OpenMP in the Implementation of Concurrent and Parallel Algorithms. In: REGIONAL SCHOOL OF HIGH PERFORMANCE COMPUTING FROM SOUTHERN BRAZIL (ERAD-RS), 25. , 2025, Foz do Iguaçu/PR. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2025 . p. 117-120. ISSN 2595-4164. DOI: https://doi.org/10.5753/eradrs.2025.6798.