Speaker
Description
High Energy Physics uses C++ for performance-critical, large-scale (50 million lines of code) libraries. Python is used for analysis. C++ is complex and getting more so, with industry creating a very competitive market for developers. Python is very slow but very common. Is there any way out? As part of the R&D done in the Next Generation Triggers project we are looking at novel languages that could replace C++ at some point in the future - out of curiosity. One such very promising language is Mojo: compiled, statically typed, yet "feels like Python" and Python-compatible. We demonstrate the simplicity of the language which has been proven by students porting parts of the standalone CMS pixel track reconstruction from C++ to Mojo. We show surprisingly excellent performance results. We demonstrate initial benchmarks of Mojo in multi-threaded code and with GPU kernels written in Mojo. All of this is maybe less surprising once you know that the creator of Mojo is the creator of llvm/clang and Swift. Should HEP move to Mojo? Not for many years to come. Is it worth having an early look, and can we learn something from it? Absolutely, as this contribution will show.