chore: upgrade Vitest 5.0.0-beta.1#412
Conversation
⚡ Flight Protocol BenchmarkCommit: Serialization (
|
| Scenario | @lazarv/rsc | webpack | vs webpack |
|---|---|---|---|
| react: minimal element | 198.9K | 36.3K | 🟢 +447.5% |
| react: shallow wide (1000) | 2.1K | 337 | 🟢 +537.7% |
| react: deep nested (100) | 17.2K | 6.4K | 🟢 +167.2% |
| react: product list (50) | 6.7K | 2.0K | 🟢 +239.4% |
| react: large table (500x10) | 272 | 92 | 🟢 +196.5% |
| data: primitives | 177.6K | 42.3K | 🟢 +320.1% |
| data: large string (100KB) | 7.6K | 7.1K | 🟢 +7.3% |
| data: nested objects (20) | 62.5K | 33.1K | 🟢 +89.0% |
| data: large array (10K) | 127 | 116 | 🟢 +9.1% |
| data: Map & Set | 12.2K | 6.2K | 🟢 +95.5% |
| data: Date/BigInt/Symbol | 145.1K | 46.0K | 🟢 +215.2% |
| data: typed arrays | 35.3K | 12.8K | 🟢 +176.8% |
| data: mixed payload | 9.4K | 4.4K | 🟢 +112.9% |
Prerender (prerender)
| Scenario | @lazarv/rsc ops/s | mean |
|---|---|---|
| react: minimal element | 250.1K | 4.0 µs |
| react: shallow wide (1000) | 2.0K | 490.6 µs |
| react: deep nested (100) | 16.0K | 62.5 µs |
| react: product list (50) | 6.2K | 160.4 µs |
| react: large table (500x10) | 264 | 3.78 ms |
| data: primitives | 190.6K | 5.2 µs |
| data: large string (100KB) | 663 | 1.51 ms |
| data: nested objects (20) | 62.6K | 16.0 µs |
| data: large array (10K) | 124 | 8.09 ms |
| data: Map & Set | 12.4K | 80.4 µs |
| data: Date/BigInt/Symbol | 186.7K | 5.4 µs |
| data: typed arrays | 666 | 1.50 ms |
| data: mixed payload | 8.4K | 119.5 µs |
Deserialization (createFromReadableStream)
| Scenario | @lazarv/rsc | webpack | vs webpack |
|---|---|---|---|
| react: minimal element | 171.6K | 146.5K | 🟢 +17.1% |
| react: shallow wide (1000) | 20.8K | 2.0K | 🟢 +927.6% |
| react: deep nested (100) | 96.0K | 19.8K | 🟢 +384.7% |
| react: product list (50) | 50.7K | 14.8K | 🟢 +241.7% |
| react: large table (500x10) | 3.9K | 2.0K | 🟢 +93.5% |
| data: primitives | 137.3K | 132.6K | 🟢 +3.5% |
| data: large string (100KB) | 42.3K | 37.1K | 🟢 +13.9% |
| data: nested objects (20) | 81.1K | 72.2K | 🟢 +12.3% |
| data: large array (10K) | 267 | 255 | 🟢 +4.8% |
| data: Map & Set | 16.8K | 15.1K | 🟢 +11.0% |
| data: Date/BigInt/Symbol | 140.1K | 120.9K | 🟢 +15.9% |
| data: typed arrays | 64.6K | 36.8K | 🟢 +75.6% |
| data: mixed payload | 25.0K | 14.8K | 🟢 +68.4% |
Roundtrip (serialize + deserialize)
| Scenario | @lazarv/rsc | webpack | vs webpack |
|---|---|---|---|
| react: minimal element | 117.3K | 30.6K | 🟢 +283.8% |
| react: shallow wide (1000) | 1.8K | 291 | 🟢 +528.1% |
| react: deep nested (100) | 15.1K | 4.8K | 🟢 +213.2% |
| react: product list (50) | 5.8K | 1.7K | 🟢 +234.9% |
| react: large table (500x10) | 259 | 85 | 🟢 +204.5% |
| data: primitives | 93.2K | 37.7K | 🟢 +147.0% |
| data: large string (100KB) | 6.0K | 6.9K | 🔴 -13.1% |
| data: nested objects (20) | 38.5K | 21.5K | 🟢 +79.2% |
| data: large array (10K) | 85 | 85 | ⚪ -0.3% |
| data: Map & Set | 6.8K | 3.9K | 🟢 +75.5% |
| data: Date/BigInt/Symbol | 89.5K | 32.3K | 🟢 +177.0% |
| data: typed arrays | 30.0K | 12.6K | 🟢 +137.7% |
| data: mixed payload | 6.8K | 3.4K | 🟢 +103.3% |
Legend & methodology
Indicators: 🟢 > 1% faster | 🔴 > 1% slower | ⚪ within noise margin
vs webpack: compares @lazarv/rsc against react-server-dom-webpack within the same run.
vs baseline: compares @lazarv/rsc against the previous main branch run.
Values shown are operations/second (higher is better). Each scenario runs for at least 100 iterations with warmup.
Benchmarks run on GitHub Actions runners (shared infrastructure) — expect ~5% variance between runs. Consistent directional changes across multiple scenarios are more meaningful than any single number.
⚡ Benchmark Results
Legend🟢 > 1% improvement | 🔴 > 1% regression | ⚪ within noise margin Benchmarks run on GitHub Actions runners (shared infrastructure) — expect ~5% variance between runs. Consistent directional changes across multiple routes are more meaningful than any single number. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #412 +/- ##
=======================================
Coverage ? 91.97%
=======================================
Files ? 3
Lines ? 3590
Branches ? 1173
=======================================
Hits ? 3302
Misses ? 288
Partials ? 0
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Automated daily upgrade of Vite, Rolldown, and/or Vitest to the latest available versions.
Vitest:
4.1.5→5.0.0-beta.1Updated locations
packages/react-server/package.json—vite,rolldowntest/package.json—vite,rolldown,vitest,@vitest/uipackages/rsc/package.json—vitest,@vitest/*packages/create-react-server/test/package.json—vitestpackage.json— allpnpm.overridesfor Vitepnpm-lock.yamlSmoke test
hello worldtest passed ✅hello worldtest passed ✅