Nov 4 – 8, 2019
Adelaide Convention Centre
Australia/Adelaide timezone

C++ Modules in ROOT and Beyond

Nov 7, 2019, 11:30 AM
Riverbank R2 (Adelaide Convention Centre)

Riverbank R2

Adelaide Convention Centre

Oral Track 5 – Software Development Track 5 – Software Development


Oksana Shadura (University of Nebraska Lincoln (US))


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.

Consider for promotion Yes

Primary authors

Vasil Georgiev Vasilev (Princeton University (US)) Oksana Shadura (University of Nebraska Lincoln (US)) Yuka Takahashi (Princeton University (US)) David Lange (Princeton University (US)) Malik Shahzad Muzaffar (CERN) Mircho Nikolaev Rodozov (Bulgarian Academy of Sciences (BG))

Presentation materials