C++ Modules in ROOT and Beyond

04/11/2020
by   Vassil Vassilev, et al.
0

C++ Modules come in C++20 to fix the long-standing build scalability problems in the language. They provide an io-efficient, on-disk representation capable to reduce build times and peak memory usage. ROOT employs the C++ modules technology further in the ROOT dictionary system to improve its performance and reduce the memory footprint. ROOT with C++ Modules was released as a technology preview in fall 2018, after intensive development during the last few years. The current state is ready for production, however, there is still room for performance optimizations. In this talk, we show the roadmap for making the technology default in ROOT. We demonstrate a global module indexing optimization which allows reducing the memory footprint dramatically for many workflows. We will report user feedback on the migration to ROOT with C++ Modules.

READ FULL TEXT

page 3

page 6

research
06/12/2019

Migrating large codebases to C++ Modules

ROOT has several features which interact with libraries and require impl...
research
12/10/2018

Optimizing Frameworks Performance Using C++ Modules Aware ROOT

ROOT is a core HEP framework which is used broadly in and outside HEP. A...
research
04/30/2023

Drinfeld modules in SageMath

We present the first implementation of Drinfeld modules fully integrated...
research
05/06/2019

Multi-threaded Output in CMS using ROOT

CMS has worked aggressively to make use of multi-core architectures, rou...
research
12/07/2018

Extending ROOT through Modules

The ROOT software framework is foundational for the HEP ecosystem, provi...
research
08/25/2022

Apptainer Without Setuid

Apptainer (formerly known as Singularity) since its beginning implemente...
research
09/18/2018

HDTCat: let's make HDT scale

HDT (Header, Dictionary, Triples) is a serialization for RDF. HDT has be...

Please sign up or login with your details

Forgot password? Click here to reset