chore: profiling harness#478
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is kicking off a free cloud agent to fix this issue. This run is complimentary, but you can enable autofix for all future PRs in the Cursor dashboard.
Benchmark ResultsCompared on the same runner in the same workflow run.
|
| RUSTFLAGS="-Cprofile-generate=$PGO_DATA_DIR -C target-cpu=native $EXTRA_RUSTFLAGS" \ | ||
| cargo bench --profile "$PROFILE_BUILD" \ | ||
| --package world-chain-builder \ | ||
| --bench coordinator \ |
There was a problem hiding this comment.
there is no coordinator bench
There was a problem hiding this comment.
There are:
help: available bench targets:
flashblock_building_live_node
flashblock_validation_live_node
flashblock_validation_synthetic
What was previuously called coordinator is now called flashblock_validation_synthetic
There was a problem hiding this comment.
I'd suggest live node benches though as they are more reliable and mimic more closely mainnet behaviours
| b = "bench --package builder --bench coordinator --" | ||
| bs = "bench --package builder --bench coordinator -- --save-baseline" | ||
| bc = "bench --package builder --bench coordinator -- --baseline main --save-baseline pr" | ||
| bench = "bench --package builder --bench coordinator --" |
There was a problem hiding this comment.
same here and below, there is no coordinator bench
| RUSTFLAGS="-Cprofile-generate=/tmp/pgo-data -C target-cpu=native" \ | ||
| cargo bench --profile profiling \ | ||
| --package world-chain-builder \ | ||
| --bench coordinator \ |

Note
Low Risk
Mostly adds build/CI automation for profiling and PGO and introduces a new
profilingcargo profile; runtime behavior is unchanged but build configuration and dependency graph may affect compile times and reproducibility.Overview
Adds a profiling harness for
world-chain, including a newprofilingCargo profile (release-like with full debug symbols) pluscargo/justhelpers for native builds, profiling benchmarks, and profiling/maxperf Docker images.Introduces PGO automation via
Justfiletargets and a new.github/scripts/build_pgo.shscript to build instrumented binaries, collect.profrawvia benchmarks, merge to.profdata, and rebuild with profile use.Adds a new manually-triggered GitHub Actions workflow
profiling.ymlto build and upload profiling binaries (and optionally run the full PGO pipeline), and updates test-utils to includealloy-rpc-client(with the correspondingCargo.lockchange).Written by Cursor Bugbot for commit 8a937ae. Configure here.