cpp_proposals icon indicating copy to clipboard operation
cpp_proposals copied to clipboard

P2996 - compilation time benchmarks

Open kris-jusiak opened this issue 1 year ago • 0 comments

Some initial exploration of the P2996 meta-programming model in terms of compilation times and comparison to different approaches such as boost.mp11, circle, etc. Thought it could be beneficial to share it here.

Libraries

Proposals

Compilers

Results

  • https://boost-ext.github.io/mp

Notes

  • Since the meta-programming is based on consteval the performance of abstract machine has a huge impact.
  • Meta-programming with P2996 can be done either with ranges or without. The former is much faster to compile.
  • Compiler support is still in the early stages, and while compilation is likely to improve, at this point, there is a huge difference between P2996 and, for example, boost.mp11.

Repository

  • https://github.com/boost-ext/mp/tree/benchmark

Missing

  • https://cppmeta.codereckons.com/ (in progress)
  • EDG-p2996 implementation (@daveedvdv is there a way to run EDG-reflection locally somehow?)

kris-jusiak avatar May 07 '24 21:05 kris-jusiak