EPJ Web of Conferences (Jan 2024)

Polyglot Jet Finding

  • Stewart Graeme Andrew,
  • Gras Philippe,
  • Hegner Benedikt,
  • Krasnopolski Atell

DOI
https://doi.org/10.1051/epjconf/202429505017
Journal volume & issue
Vol. 295
p. 05017

Abstract

Read online

The evaluation of new computing languages for a large community, like HEP, involves comparison of many aspects of the languages’ behaviour, ecosystem and interactions with other languages. In this paper we compare a number of languages using a common, yet non-trivial, HEP algorithm: the anti- kT clustering algorithm used for jet finding. We compare specifically the algorithm implemented in Python (pure Python and accelerated with numpy and numba), and Julia, with respect to the reference implementation in C++, from Fastjet. As well as the speed of the implementation we describe the ergonomics of the language for the coder, as well as the efforts required to achieve the best performance, which can directly impact on code readability and sustainability.