Please rotate your tablet to be horizontal.

You can dismiss this notice but please note that this experience has not been designed for mobile devices and so will be less than optimal

Back To Schedule

How much compilation speedup we will get from C++ Modules: A Case Study

09:00 - 10:00 Monday 12th September 2022 MDT Summit 1 / Online E
Intermediate
Advanced
Expert
Debugging & Logging & Testing

The presentation will show a series of experimental results to (try to) answer the interesting and hard question: how much speedup we could get if we use C++20 Modules? We will compare the compilation time of a modularized library with its original implementation in many different compiling configurations (Optimization Levels, Debug Informations and other compiler techniques). Then we would discuss the reasons behind the numbers. And we will discuss the possible optimization techniques in the future to speedup the compilation process more and the corresponding impact on performance, code sizes, object ABI and language standard.

Q: What will I learn? and Why is this important to me?

You will find the improvements of C++20 modules for a real world project. It may be helpful for your future decision on C++20 modules. (For example, should we use it? How much benefit could we get actually?)

Q: Will it include a quick recap of modules or is that knowledge a prerequisite from the audience?

It will include a quick recap of modules.

Q: What is the compiler used?

We use clang in our experiments.

Q: What is the build system used?

We use a hand written makefile to build the modules.

Q: Will it talk about the lessons learned in refactoring to modules?

No. We don't focus on specific grammars.

Chuanqi Xu

Alibaba Cloud

A compiler engineer for Clang/LLVM who focus on both frontend/middle-end. Maintaining Coroutines parts in Clang/LLVM. Implementer/User of Coroutine libraries. Implementing/Using C++20 Named Modules.