ctbench - compile-time benchmarking and analysis
Jules Pénuchot, Joël Falcou · The Journal of Open Source Software · 2023
With libraries like Eigen (Guennebaud et al., 2010), Blaze (Iglberger, 2012), and CTRE (Dusíková, 2018) being developed with a large tempalte metaprogrammed implementation, we're seeing increasing computing needs at compile time.These needs might grow even larger as C++ embeds more features over time to support and extend these kinds of practices, like compile-time containers (Dimov et al., 2019) and static reflection (Vandevoorde et al., 2022).However, there is still no clear cut methodology to compare the performance impact of different metaprogramming strategies.And as new C++ features allows for new techniques with claimed better compile-time performance, no proper methodologies are provided to back up those claims.