Skip to content

Add GCC16 reflection APIs and CI coverage#48

Merged
Katze719 merged 10 commits into
mainfrom
feat/gcc16-reflection-hotpath
Jun 4, 2026
Merged

Add GCC16 reflection APIs and CI coverage#48
Katze719 merged 10 commits into
mainfrom
feat/gcc16-reflection-hotpath

Conversation

@Katze719

Copy link
Copy Markdown
Owner

No description provided.

@Katze719 Katze719 marked this pull request as draft May 29, 2026 19:22
Katze719 added 9 commits May 29, 2026 23:16
…hmarks

Add BM_ComparePoolWorkload, which builds each pool once and sweeps the
per-task work (tiny/medium/heavy/imbalanced) to show how the best pool
depends on workload weight rather than always favouring LightweightPool.

Add callable_std_benchmarks, a C++17-compatible micro-benchmark that
isolates the build+invoke cost of detail::move_callable (std::function vs
std::move_only_function) and detail::SboCallable, so it can be compiled
under C++17/20/23/26 to quantify the std::function replacement and SBO.
Add generate_readme_graphs.py (dependency-free SVG charts for the README),
generate_benchmark_report.py and run_benchmark_graphs.sh (standalone HTML
report with inline charts and auto-collected machine info), plus the
generated SVGs under docs/benchmarks/ covering pool throughput, pool/workload
comparisons, post vs submit, reflection queries, and callable storage.
Embed the generated charts in the README with a reproducibility block
(CPU, OS, compiler, exact build flags) and add a "how big is a task"
section explaining lambda capture sizes and the inline-buffer thresholds
of std::function, std::move_only_function, and SboCallable. Document the
new generators and cross-standard build steps in benchmarks/README.md.
- Introduced `detail::copyable_callable` for copyable callback storage.
- Updated `ErrorCallback` and `TaskStartCallback` to use `copyable_callable`.
- Added benchmarks for `copyable_callable` to evaluate performance across C++ standards.
- Enhanced README documentation with new benchmark results and charts.
- Implemented tests for callable functionality and callback aliases.
@Katze719 Katze719 marked this pull request as ready for review June 4, 2026 16:27
@Katze719 Katze719 merged commit 868d768 into main Jun 4, 2026
78 checks passed
@Katze719 Katze719 deleted the feat/gcc16-reflection-hotpath branch June 4, 2026 16:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant