-
-
Notifications
You must be signed in to change notification settings - Fork 8.2k
build: replace benchmarks #16271
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build: replace benchmarks #16271
Conversation
Pull Request Test Coverage Report for Build cd5b6847-3ae5-438b-b448-e06c0093aa71Details
💛 - Coveralls |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR replaces the existing benchmarking infrastructure, removing the deprecated Artillery dependency and implementing a new custom benchmark system using autocannon. The changes reduce the dependency footprint by 499 packages.
Changes:
- Removed Artillery, wrk, @codechecks/client, and related dependencies
- Implemented new benchmark system in tools/benchmarks with TypeScript
- Created framework test servers for Express, Fastify, Nest-Express, and Nest-Fastify
- Added autocannon as the new benchmarking tool
Reviewed changes
Copilot reviewed 23 out of 31 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/benchmarks/tsconfig.json | TypeScript configuration for benchmarks |
| tools/benchmarks/src/main.ts | Main benchmark orchestration logic |
| tools/benchmarks/src/autocannon/run.ts | Autocannon wrapper utility |
| tools/benchmarks/src/frameworks/*.ts | Framework-specific server implementations |
| tools/benchmarks/package.json | Benchmark-specific dependencies |
| tools/benchmarks/package-lock.json | Lock file for benchmark dependencies |
| package.json | Removed unused benchmark dependencies from root |
| eslint.config.mjs | Code style formatting updates |
| benchmarks/* | Removed old benchmark files |
| tools/benchmarks/get-benchmarks.ts | Removed old benchmark getter |
| tools/benchmarks/check-benchmarks.ts | Removed old benchmark checker |
Files not reviewed (1)
- tools/benchmarks/package-lock.json: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
merged changes from master and added fix from review |
|
Could you resolve merge conflicts? |
|
@kamilmysliwiec Sure! done |
|
Well, this looks good. |
PR Checklist
Please check if your PR fulfills the following requirements:
PR Type
What kind of change does this PR introduce?
What is the current behavior?
Currently nests has artillery as dependency but it does not used
Issue Number: N/A
What is the new behavior?
I reworked benchmarks and removed unused dependencies. 499 packages less will be installed. Also with #16231 PR it should resolve two critical vulnerabilities.
Does this PR introduce a breaking change?
Other information