Support more repos in benchmarks #14
Draft
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.
Implements multi-repository support for the grainchain benchmarks as requested in CG-18528.
Changes Made
Repository Support
outline
(existing)requests
andfastapi
repositoriesNew Files
benchmarks/configs/outline.json
- TypeScript repository configurationbenchmarks/configs/requests.json
- Python HTTP library configurationbenchmarks/configs/fastapi.json
- Python web framework configurationbenchmarks/scripts/multi_repo_benchmark_runner.py
- Docker-based multi-repo runnerbenchmarks/scripts/grainchain_multi_repo_benchmark.py
- Grainchain-based multi-repo runner (recommended)test_multi_repo_dockerfile.py
- Multi-repo testing scriptFeatures
✅ Per-repository output generation - Each repo gets its own results file
✅ Snapshot testing - Trivial changes and snapshots tested for each repo
✅ Multiple languages - TypeScript and Python support
✅ Flexible configuration - JSON configs for each repository
✅ Two implementations - Docker and grainchain-based runners
Usage
Run all repositories:
source .venv/bin/activate python benchmarks/scripts/grainchain_multi_repo_benchmark.py
Run specific repository:
source .venv/bin/activate python benchmarks/scripts/grainchain_multi_repo_benchmark.py --repo requests
Test setup:
source .venv/bin/activate python test_multi_repo_dockerfile.py
Results Structure
Addresses: CG-18511
💻 View my work • About Codegen