Cargando…

C++ Modules in ROOT and Beyond

C++ Modules, one of the new features of C++20, aim to fix the long-standing build scalability problems in the language. They provide an IOefficient, on-disk representation capable to reduce build times and peak memory usage. ROOT already employs the C++ modules technology in its dictionary system to...

Descripción completa

Detalles Bibliográficos
Autores principales: Vassilev, Vassil, Lange, David, Muzaffar, Malik Shahzad, Rodozov, Mircho, Shadura, Oksana, Penev, Alexander
Lenguaje:eng
Publicado: 2020
Materias:
Acceso en línea:https://dx.doi.org/10.1051/epjconf/202024505011
http://cds.cern.ch/record/2758797
_version_ 1780970182947110912
author Vassilev, Vassil
Lange, David
Muzaffar, Malik Shahzad
Rodozov, Mircho
Shadura, Oksana
Penev, Alexander
author_facet Vassilev, Vassil
Lange, David
Muzaffar, Malik Shahzad
Rodozov, Mircho
Shadura, Oksana
Penev, Alexander
author_sort Vassilev, Vassil
collection CERN
description C++ Modules, one of the new features of C++20, aim to fix the long-standing build scalability problems in the language. They provide an IOefficient, on-disk representation capable to reduce build times and peak memory usage. ROOT already employs the C++ modules technology in its dictionary system to improve performance and reduce the memory footprint.ROOT with C++ Modules was released as a technology preview in fall 2018, after intensive development during the previous few years. The current state is ready for production, however, there is still room for performance optimizations. In this talk, we show the road map for making this technology enabled by 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.
id cern-2758797
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2020
record_format invenio
spelling cern-27587972022-01-25T03:33:34Zdoi:10.1051/epjconf/202024505011doi:10.1051/epjconf/202024505011http://cds.cern.ch/record/2758797engVassilev, VassilLange, DavidMuzaffar, Malik ShahzadRodozov, MirchoShadura, OksanaPenev, AlexanderC++ Modules in ROOT and Beyondcs.DCComputing and ComputersC++ Modules, one of the new features of C++20, aim to fix the long-standing build scalability problems in the language. They provide an IOefficient, on-disk representation capable to reduce build times and peak memory usage. ROOT already employs the C++ modules technology in its dictionary system to improve performance and reduce the memory footprint.ROOT with C++ Modules was released as a technology preview in fall 2018, after intensive development during the previous few years. The current state is ready for production, however, there is still room for performance optimizations. In this talk, we show the road map for making this technology enabled by 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.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.arXiv:2004.06507oai:cds.cern.ch:27587972020
spellingShingle cs.DC
Computing and Computers
Vassilev, Vassil
Lange, David
Muzaffar, Malik Shahzad
Rodozov, Mircho
Shadura, Oksana
Penev, Alexander
C++ Modules in ROOT and Beyond
title C++ Modules in ROOT and Beyond
title_full C++ Modules in ROOT and Beyond
title_fullStr C++ Modules in ROOT and Beyond
title_full_unstemmed C++ Modules in ROOT and Beyond
title_short C++ Modules in ROOT and Beyond
title_sort c++ modules in root and beyond
topic cs.DC
Computing and Computers
url https://dx.doi.org/10.1051/epjconf/202024505011
https://dx.doi.org/10.1051/epjconf/202024505011
http://cds.cern.ch/record/2758797
work_keys_str_mv AT vassilevvassil cmodulesinrootandbeyond
AT langedavid cmodulesinrootandbeyond
AT muzaffarmalikshahzad cmodulesinrootandbeyond
AT rodozovmircho cmodulesinrootandbeyond
AT shaduraoksana cmodulesinrootandbeyond
AT penevalexander cmodulesinrootandbeyond