When One Red Pill Is Not Enough
Compile-Time Optimization Through Dynamic Programming
Traditional runtime optimisation often misses potential gains. This talk shows how compile-time dynamic programming can transform computation sequences, caching, and data layout choices before execution.
Unlike traditional compilers, which efficiently translate code without rethinking algorithms, our Compile-Time Optimisation (CTO) approach restructures algorithms and data layouts during compilation. Leveraging constexpr, templates, and reflection, we tailor computational structures—such as data layouts and evaluation orders—to your specific domain, ensuring optimal design from the start, with demonstrable improvements in cache performance and binary size. The latest language features (reflection) can support this approach; they will be discussed, subject to availability and time constraints

Andrew Drakeford
Physics PhD who started out at BT Labs working with AI and acting as a design consultant for large scale systems in network management and billing. He has spent the last few decades designing and writing high performance quantitative libraries and applications in C++. He is interested in quant finance, machine learning, vectorisation, SIMD and HPC. He is a member of the UK C++ panel.
