Add CodSpeed continuous performance benchmarks#12
Closed
codspeed-hq[bot] wants to merge 2 commits intomainfrom
Closed
Add CodSpeed continuous performance benchmarks#12codspeed-hq[bot] wants to merge 2 commits intomainfrom
codspeed-hq[bot] wants to merge 2 commits intomainfrom
Conversation
Set up continuous performance tracking using CodSpeed with google_benchmark wrappers for the taskflow runtime benchmarks (fib, skynet, nqueens, matmul). - Add cpp/codspeed/ directory with CMake build and benchmark source files - Add .github/workflows/codspeed.yml for CI integration - Add CodSpeed badge to README
Owner
|
Reimplement the benchmark wrapper for TooManyCooks, NOT Taskflow. Those files are in ./cpp/ToomanyCooks |
Contributor
|
Bruh |
Reduce problem sizes to ensure reasonable CI runtimes under CodSpeed simulation (valgrind) mode: - fib: 30 -> 20 - skynet: depth 8 (100M tasks) -> depth 6 (1M tasks) - nqueens: N=14 -> N=10 - matmul: 512x512 -> 256x256
9b459c6 to
badc835
Compare
Author
Congrats! CodSpeed is installed 🎉
You will start to see performance impacts in the reports once the benchmarks are run from your default branch.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.github/workflows/codspeed.yml) that runs benchmarks on push to main, PRs, and manual dispatchWhat's included
Benchmark files (
cpp/codspeed/)New directory containing CodSpeed-compatible benchmark wrappers using codspeed-cpp, which provides a google_benchmark compatibility layer:
bench_fib.cpp- Recursive fibonacci (fib(30))bench_skynet.cpp- Skynet 100M task spawn benchmarkbench_nqueens.cpp- N-Queens solver (N=14)bench_matmul.cpp- Recursive matrix multiplication (512x512)CMakeLists.txt- Build configuration using FetchContent for codspeed-cpp and CPM for taskflowThe benchmark parameters are tuned to be smaller than the main comparison benchmarks to keep CI runtimes reasonable under CodSpeed's simulation mode.
CI workflow (
.github/workflows/codspeed.yml)Next steps
Once the PR is merged: