CppCon 2019 has ended
Back To Schedule
Thursday, September 19 • 16:45 - 17:45
Reducing Template Compilation Overhead, Using Features from C++11, 14, 17, and 20.

Log in to save this to your schedule, view media, leave feedback and see who's attending!

At their best, new C++ standards offer simpler, clearer, and faster-to-compile ways to write your code. But many information sources, for example Andrei Alexandrescu’s Modern C++ Design, haven’t been updated.

More importantly, template metaprogramming is not something we generally seek to optimize because a good compiler handles it well, and problems generally only show up in the form of long compile times.

In this presentation, I'll describe techniques you can use to simplify, clarify, and improve the compile speed, of your code, including:
* Using C++17 "if constexpr"
* Using C++11 variadic function / template arguments (often without needing recursion!)
* Using decltype on auto-return functions in order to compute types in a more readable way.
* Using C++20 constraints rather than std::enable_if

avatar for Jorg Brown

Jorg Brown

Software Engineer, Google
Jorg Brown started coding in the days when getting a home computer often meant assembling it yourself, and while he appreciates high-level languages like C++, he also misses those early days, when computers were simple enough that a programmer could actually fully understand a machine... Read More →

Thursday September 19, 2019 16:45 - 17:45 MDT
Summit 8/9