Skip to content

arBmind/2020-05_FastMeta

Repository files navigation

Faster ►► C++ Meta-Programming

Presentation for C++ Usergroup Dresden (13. Mai 2020)

Video

Youtube Recording of the Talk

Interactive Slides

Mentioned Links

  • Metashell - Clang based interactive shell
  • Metabench - collection of compile time C++ benchmarks
  • Youtube - Jorg Brown (CppCon 2019) “Reducing Template Compilation Overhead, Using C++11, 14, 17, and 20.”

Experiments

The experiments folder contains all my compile time benchmarks and experimental implementations

Build instructions:

  • Install Ruby
  • Install Qbs - powerful open source build system
  • Configure Qbs profiles for your compilers
  • Compile
    • cd experiments
    • qbs build -d [build-folder] -j [N] profile:[Profile]
    • use -p [Target] to only compile one benchmark

Build using QtCreator:

  • Install Ruby
  • Install QtCreator - this includes Qbs
  • Configure some Kits with your compilers
  • Open experiments.qbs as a project in QtCreator
  • Compile

Benchmarked third party libraries:

  • Basicpp17 - A C++17 base library
  • Boost.Hana - Your standard library for metaprogramming
  • Co-Cpp19 - some compile time optimized implementations
  • EASTL - EA Standard Template Library
  • ETL - Embedded Template Library
  • Folly - Facebook Open-source Library
  • Kvasir::mpl - collection of zero cost statically checked libraries
  • Mapbox Variant - An header-only alternative to boost::variant for C++11 and C++14
  • MPark.Variant - C++17 std::variant for C++11/14/17

Slides Tech

License

The slides here are available under the terms of the Creative Commons Attribution-ShareAlike license. (cc-by-sa-license)

Photos

About

Collection of Material for "Faster ►► C++ Meta-Programming" the presentation for the C++ Usergroup Dresden

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published