Skip to content

Tango performance comparison harness - #523

Merged
tinder-maxwellelliott merged 1 commit into
Tinder:masterfrom
maxwellE:perf/tango-compare-harness
Oct 15, 2026
Merged

tinder-maxwellelliott merged 1 commit into
Tinder:masterfrom
maxwellE:perf/tango-compare-harness

Conversation

@tinder-maxwellelliott

Copy link
Copy Markdown
Collaborator

A new cron based harness we can use to compare performance between these tools

Add tools/perf/tango_compare.py, a stdlib-only harness that benchmarks
bazel-diff against Uber's Tango on identical workloads. It builds Tango's
example server and client from source at a pinned commit, generates
synthetic genrule workspaces (small/medium/large/xlarge presets, custom
sizes, or a real repository), and times both tools end to end on the same
base..head pair: cold (fresh Bazel servers), warm (servers alive, Tango with
-bypass-cache) and diff-only. Tool order alternates per iteration. The
impacted label sets are cross-checked and a markdown summary plus a JSON
metrics report are written.

The pure helpers (Tango's id-mapped JSON stream, Go duration strings, label
diffing, spec parsing, summary rendering) are covered by a py_test under
//tools/perf. The harness itself is not a py_binary, like the serve
harnesses, because it can shell out to `bazel build`.

A new perf-tango-compare workflow runs the four presets nightly and on
dispatch (workloads, iterations, Tango ref, pool size, quick profile
inputs), publishing the summary as a step summary and a 90-day artifact.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FUbHuckDDMM9DEvfiZo6xo
@maxwellE
maxwellE force-pushed the perf/tango-compare-harness branch from 91e0672 to f3a1c12 Compare October 15, 2026 16:07
@tinder-maxwellelliott
tinder-maxwellelliott merged commit 5edf611 into Tinder:master Oct 15, 2026
21 checks passed
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.

2 participants