CI: add binary size to the PR metrics comparison#109
Merged
Conversation
A new 'size' subcommand records .text/.data/.bss (size -B) and file bytes for the Linux putup binary; build-linux uploads the TSV and the sticky PR comment renders it with percentage deltas against the last successful main run, alongside the perf and coverage sections. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01U5KUoGDhJEZYoiK9CkeXtz
PR metricsPerformance (gcc example, Linux)
Deterministic signals: page faults, peak RSS, and the cachegrind D1/LL miss rates (simulated cache, exact across runs). CPU time is user+sys from time(1); instructions read n/a on GitHub-hosted runners (virtualized, no PMU). Binary size (Linux)
Test coverage (lines)
93 files · 13697/16104 lines covered Deltas vs main@35e6b1d9e. Updated for 95f0128 |
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.
Adds a Binary size (Linux) section to the sticky PR metrics comment:
.text/.data/.bss(fromsize -B) and file bytes forbuild/putup, with percentage deltas against the last successful main run — the same baseline mechanism as the perf and coverage sections.Collection runs in
build-linuxright after the bootstrap build (also echoed to that job's step summary), so the size is measured on the exact binary the other jobs test. Section sizes are fully deterministic across runs; file size additionally tracks symbol/debug-info changes.Verified locally:
metrics size build/putupproduces the TSV (.text 496.4 KB on current main), andrenderproduces the annotated table with and without a baseline; combined perf+size render checked; workflow YAML parses.🤖 Generated with Claude Code
https://claude.ai/code/session_01U5KUoGDhJEZYoiK9CkeXtz