Extending the Gaudi Software Framework outside of C++

The LHCb Software Framework Gaudi [1] has been developed in C++ since 1998 [2]. Over the years, it evolved following the changes in the C++ established best practices and the evolution of the C++ standard, even reaching the point of enabling the development of multithreaded applications. In recent years, there have been several announcements and debates on the socalled successor languages of C++ and safe alternatives to C++, with Rust [3] leading the way as an example of a safe and performing language that can replace C and C++ in a number of cases. This paper explores some ways Rust can be used to extend the Software Framework Gaudi, focusing on how one can leverage on the Rust-C++ interoperability efforts driven by the community. We show how to invoke Rust code from C++ and vice versa, and how Gaudi components could be written completely in Rust. We can use the experience gained in the exercise to evaluate possible integration with other languages or technologies.

Authors

Institutions

Publication Details

Journal
EPJ Web of Conferences
Published
2025-01-01
DOI
https://doi.org/10.1051/epjconf/202533701072
Primary Topic
Parallel Computing and Optimization Techniques
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Extending the Gaudi Software Framework outside of C++

M. Clemencic
EPJ Web of Conferences
Parallel Computing and Optimization Techniques
article

Extending the Gaudi Software Framework outside of C++

M. Clemencic
article en

Abstract

The LHCb Software Framework Gaudi [1] has been developed in C++ since 1998 [2]. Over the years, it evolved following the changes in the C++ established best practices and the evolution of the C++ standard, even reaching the point of enabling the development of multithreaded applications. In recent years, there have been several announcements and debates on the socalled successor languages of C++ and safe alternatives to C++, with Rust [3] leading the way as an example of a safe and performing language that can replace C and C++ in a number of cases. This paper explores some ways Rust can be used to extend the Software Framework Gaudi, focusing on how one can leverage on the Rust-C++ interoperability efforts driven by the community. We show how to invoke Rust code from C++ and vice versa, and how Gaudi components could be written completely in Rust. We can use the experience gained in the exercise to evaluate possible integration with other languages or technologies.

EPJ Web of ConferencesVol. 337
European Organization for Nuclear Research (CH)
Openalex Percentile: Top 70%
Parallel Computing and Optimization Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Extending the Gaudi Software Framework outside of C++ — M. Clemencic · EPJ Web of Conferences (2025) | TGRS Research Map | TGRS