ROOT has several features which interact with libraries and require implicit header inclusion. These headers are often immutable, and reparsing is redundant. C++ Modules are designed to minimize the reparsing of the same header content by providing an efficient on-disk representation of C++ code. Although C++ modules support in ROOT has been implemented in the last few years, there is still room for performance improvement, and GlobalModuleIndex implementation is one such possible solution. It is a mechanism to create the table of symbols and PCM names so that ROOT will be able to load a corresponding library when a symbol lookup failed. It is expected to improve ROOT’s performance by speeding up its startup time.



Arpitha Raghunandan


  • Vassil Vassilev
  • Oksana Shadura
  • Yuka Takahashi