Run-time optimizations for compile-time reflection

Kris Jusiak

60
intermediate
advanced
15:30-16:30, Wednesday, 3rd July 2024

It's happening! Static reflection is slowly making its way into C++26. If accepted, it will be one of the most important and, likely, the most awaited language features ever!

In this talk we will go through the more exciting parts of the static reflection proposal such as code injection and stateful meta-programming. We will also take a look at what parts of the static reflection can be implemented with C++20.

The main focus of the talk will be on the - often overlooked - aspect of static reflection: its runtime performance. You may ask, 'Isn't static reflection all compile-time?' Yes and no!

As a case study, we will delve into enum_to_string and string_to_enum, focusing on runtime optimizations. We will explore various techniques to achieve C++-worthy performance and hopefully improve the static reflection implementation.

If you are interested in the static reflection and/or performance this talk is definitely for you!

performance
meta-programming
optimizations
reflection
cpp20
cpp26

Kris Jusiak

Kris is a passionate Software Engineer with experience across various industries, including telecommunications, gaming, and most recently, finance. He specializes in modern C++ development, with a keen focus on performance and quality. Kris is also an active conference speaker and open-source enthusiast, having created multiple open-source libraries.