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...
Autores principales: | , , , , , |
---|---|
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 |