{"id":20234166,"url":"https://github.com/arbmind/2020-05_fastmeta","last_synced_at":"2025-04-10T18:32:20.652Z","repository":{"id":46946860,"uuid":"257332502","full_name":"arBmind/2020-05_FastMeta","owner":"arBmind","description":"Collection of Material for \"Faster ►► C++ Meta-Programming\" the presentation for the C++ Usergroup Dresden","archived":false,"fork":false,"pushed_at":"2023-07-11T15:41:04.000Z","size":9908,"stargazers_count":4,"open_issues_count":3,"forks_count":0,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2025-03-24T16:11:11.129Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://cpp-ug-dresden.blogspot.com/2020/04/andreas-reischuck-faster-cpp-meta-programming.html","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arBmind.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-04-20T15:59:21.000Z","updated_at":"2020-11-13T21:07:20.000Z","dependencies_parsed_at":"2022-09-14T12:01:53.061Z","dependency_job_id":null,"html_url":"https://github.com/arBmind/2020-05_FastMeta","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arBmind%2F2020-05_FastMeta","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arBmind%2F2020-05_FastMeta/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arBmind%2F2020-05_FastMeta/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arBmind%2F2020-05_FastMeta/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arBmind","download_url":"https://codeload.github.com/arBmind/2020-05_FastMeta/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248271846,"owners_count":21075800,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T08:08:55.535Z","updated_at":"2025-04-10T18:32:20.627Z","avatar_url":"https://github.com/arBmind.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Faster ►► C++ Meta-Programming\n\nPresentation for C++ Usergroup Dresden (13. Mai 2020)\n\n## Video\n\n[![Youtube Recording of the Talk](http://img.youtube.com/vi/CmMRacxNIB4/0.jpg)](https://youtu.be/CmMRacxNIB4)\n\n[Interactive Slides](https://arbmind.github.io/2020-05_FastMeta/)\n\n## Mentioned Links\n\n* [Metashell](http://metashell.org) - Clang based interactive shell\n* [Metabench](http://metaben.ch) - collection of compile time C++ benchmarks\n* [Youtube](https://www.youtube.com/watch?v=TyiiNVA1syk) - Jorg Brown (CppCon 2019) “Reducing Template Compilation Overhead, Using C++11, 14, 17, and 20.”\n\n## Experiments\n\nThe `experiments` folder contains all my compile time benchmarks and experimental implementations\n\nBuild instructions:\n* Install [Ruby](https://www.ruby-lang.org)\n* Install [Qbs](https://qbs.io) - powerful open source build system\n* Configure Qbs profiles for your compilers\n* Compile\n    * `cd experiments`\n    * `qbs build -d [build-folder] -j [N] profile:[Profile]`\n    * use `-p [Target]` to only compile one benchmark\n\nBuild using QtCreator:\n* Install [Ruby](https://www.ruby-lang.org)\n* Install QtCreator - this includes Qbs\n* Configure some Kits with your compilers\n* Open `experiments.qbs` as a project in QtCreator\n* Compile\n\nBenchmarked third party libraries:\n* [Basicpp17](https://github.com/basicpp17/basicpp17) - A C++17 base library\n* [Boost.Hana](https://github.com/boostorg/hana) - Your standard library for metaprogramming\n* Co-Cpp19 - some compile time optimized implementations\n* [EASTL](https://github.com/electronicarts/EASTL) - EA Standard Template Library\n* [ETL](https://github.com/ETLCPP/etl) - Embedded Template Library\n* [Folly](https://github.com/facebook/folly) - Facebook Open-source Library\n* [Kvasir::mpl](https://github.com/kvasir-io/mpl) - collection of zero cost statically checked libraries\n* [Mapbox Variant](https://github.com/mapbox/variant) - An header-only alternative to boost::variant for C++11 and C++14\n* [MPark.Variant](https://github.com/mpark/variant) - C++17 `std::variant` for C++11/14/17\n\n## Slides Tech\n\n* [AsciiDoctor](https://github.com/asciidoctor/asciidoctor) as hackable html slide generator with a lot of features\n* [Bespoke.js](https://github.com/bespokejs/bespoke) as a flexible html slide framework\n* [Patched AsciiDoctor-Bespoke](https://github.com/arBmind/asciidoctor-bespoke/tree/patch-1) that allows the nested code display\n* [Patched Bespoke-Bullets](https://github.com/arBmind/bespoke-bullets) to allow better interactions through API\n* [Patched Bespoke-Hash](https://github.com/arBmind/bespoke-hash) that uses the extended bullets API\n* [Patched Bespoke-OnStage](https://github.com/arBmind/bespoke-onstage) with some customizations and fixes for my setup\n* [Gulp](https://github.com/gulpjs/gulp) to automate regeneration and push slide updates to the browser\n\n## License\n\nThe slides here are available under the terms of the Creative Commons Attribution-ShareAlike license.\n[(cc-by-sa-license)](https://creativecommons.org/licenses/by-sa/2.0/)\n\nPhotos\n\n* [\"fast\"](https://flic.kr/p/21TsL2g) by Derren Hodson (modified: added text) [(cc-by-license)](https://creativecommons.org/licenses/by/2.0/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farbmind%2F2020-05_fastmeta","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farbmind%2F2020-05_fastmeta","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farbmind%2F2020-05_fastmeta/lists"}