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.
翻译:C++模块在 C++20 中出现,用于解决语言中长期的建筑可缩放问题。 它们提供了一个能减少构建时间和峰值内存使用量的o- e- 效率、 即时磁盘显示器。 ROOT在ROOT字典系统中进一步使用 C++模块技术来改进其性能和减少记忆足迹。 与 C+++模块的ROOT在过去几年的密集开发后,于2018年秋季作为技术预览发布。 然而,当前状态尚有最佳性能的空间。 在本次演讲中,我们展示了在ROOT中设定技术默认值的路线图。 我们展示了一种全球模块索引优化,可以大幅减少许多工作流程的记忆足迹。 我们将报告用户对与 C++模块迁移到ROT的反馈。