perf(bench): add reproducible large-monorepo benchmark and scale report#587
Conversation
thejesh23
left a comment
There was a problem hiding this comment.
@KumamuKuma Can you please share the sample report to manual review, it would be easier to visualize the benchmarking result expectation through this PR. If you already have one for tensor-flow you can share that as well
|
@thejesh23 Thanks for the suggestion. I added full-repository sample reports for manual review: The sample covers this repository itself: 459 files and 127,155 lines. It shows repository scale, stage timing, CPU and memory usage, warnings, and integrity information for the deterministic non-LLM stages. The JSON validates against schema 1.0.0, and its pair ID matches the Markdown report. I have not generated a TensorFlow report locally because its size requires more time and resources than I can reliably provide in my current setup. The pinned TensorFlow reproduction recipe remains available in this PR for community testing. While preparing the sample, I noticed a small report-classification issue, so I added a follow-up commit to document the expected behavior, correct the issue, strengthen result validation, and include the final sample reports. |
61f4714 to
48b4fe4
Compare
|
@thejesh23 Thanks again for reviewing this. |
|
@KumamuKuma Sure I can and I will . Will do it after I'm back from vacation next week. |
Summary
This PR adds a reproducible benchmark for the non-LLM stages of
/understand:file scanning, import extraction, batch planning, and Tree-sitter structure
extraction.
It gives contributors a shared way to measure large repositories and find
bottlenecks using repeatable evidence. It does not call an LLM or write
analysis data into the repository being tested.
Each run produces matching JSON and Markdown reports with repository scale,
timing, CPU and memory use, warnings, failures, and input/output digests.
Private paths, hostnames, and Git remotes are not included.
Usage
The output must be outside the tested repository. Temporary files are cleaned
up by default.
What this adds
1.0.0.Related work
/understandperformance work.Limitations
/understandbenchmark. It does not run an LLM,count tokens, estimate cost, build the final knowledge graph, or open the
dashboard.
estimatedAgentInputBytesmeasures bytes, not tokens or cost.same concurrency and matching digests.
Current plan
TensorFlow revision and other monorepos.
Testing
paths, and left the tested repository clean.
Versioning
N/A — this PR adds internal benchmark tooling, tests, and documentation.