chore: upgrade Vite 8.0.11, Vitest 5.0.0-beta.2#418
Conversation
⚡ Flight Protocol BenchmarkCommit: Serialization (
|
| Scenario | @lazarv/rsc | webpack | vs webpack |
|---|---|---|---|
| react: minimal element | 230.9K | 29.4K | 🟢 +684.3% |
| react: shallow wide (1000) | 2.3K | 357 | 🟢 +536.0% |
| react: deep nested (100) | 17.4K | 5.8K | 🟢 +197.8% |
| react: product list (50) | 5.6K | 2.0K | 🟢 +180.4% |
| react: large table (500x10) | 287 | 90 | 🟢 +218.2% |
| data: primitives | 183.0K | 39.0K | 🟢 +368.9% |
| data: large string (100KB) | 7.1K | 6.9K | 🟢 +2.1% |
| data: nested objects (20) | 57.0K | 26.9K | 🟢 +112.1% |
| data: large array (10K) | 118 | 111 | 🟢 +6.2% |
| data: Map & Set | 10.6K | 5.7K | 🟢 +86.7% |
| data: Date/BigInt/Symbol | 167.9K | 36.0K | 🟢 +366.5% |
| data: typed arrays | 32.6K | 12.9K | 🟢 +152.3% |
| data: mixed payload | 8.2K | 4.1K | 🟢 +99.7% |
Prerender (prerender)
| Scenario | @lazarv/rsc ops/s | mean |
|---|---|---|
| react: minimal element | 251.9K | 4.0 µs |
| react: shallow wide (1000) | 2.0K | 488.1 µs |
| react: deep nested (100) | 16.3K | 61.5 µs |
| react: product list (50) | 5.9K | 168.2 µs |
| react: large table (500x10) | 260 | 3.85 ms |
| data: primitives | 196.9K | 5.1 µs |
| data: large string (100KB) | 689 | 1.45 ms |
| data: nested objects (20) | 59.4K | 16.8 µs |
| data: large array (10K) | 119 | 8.39 ms |
| data: Map & Set | 11.3K | 88.4 µs |
| data: Date/BigInt/Symbol | 189.3K | 5.3 µs |
| data: typed arrays | 685 | 1.46 ms |
| data: mixed payload | 7.7K | 129.9 µs |
Deserialization (createFromReadableStream)
| Scenario | @lazarv/rsc | webpack | vs webpack |
|---|---|---|---|
| react: minimal element | 168.9K | 134.7K | 🟢 +25.4% |
| react: shallow wide (1000) | 23.1K | 1.6K | 🟢 +1348.0% |
| react: deep nested (100) | 102.8K | 18.8K | 🟢 +447.5% |
| react: product list (50) | 54.3K | 13.0K | 🟢 +318.8% |
| react: large table (500x10) | 4.1K | 2.3K | 🟢 +81.8% |
| data: primitives | 142.0K | 130.2K | 🟢 +9.1% |
| data: large string (100KB) | 40.3K | 36.7K | 🟢 +9.8% |
| data: nested objects (20) | 82.7K | 70.1K | 🟢 +18.0% |
| data: large array (10K) | 286 | 251 | 🟢 +14.3% |
| data: Map & Set | 16.6K | 14.9K | 🟢 +12.0% |
| data: Date/BigInt/Symbol | 138.6K | 111.2K | 🟢 +24.7% |
| data: typed arrays | 63.7K | 43.8K | 🟢 +45.3% |
| data: mixed payload | 25.9K | 15.1K | 🟢 +72.0% |
Roundtrip (serialize + deserialize)
| Scenario | @lazarv/rsc | webpack | vs webpack |
|---|---|---|---|
| react: minimal element | 106.1K | 22.1K | 🟢 +379.5% |
| react: shallow wide (1000) | 1.7K | 291 | 🟢 +475.2% |
| react: deep nested (100) | 14.3K | 4.3K | 🟢 +229.3% |
| react: product list (50) | 5.4K | 1.7K | 🟢 +217.9% |
| react: large table (500x10) | 264 | 87 | 🟢 +202.9% |
| data: primitives | 83.2K | 29.4K | 🟢 +182.9% |
| data: large string (100KB) | 6.8K | 6.7K | 🟢 +2.3% |
| data: nested objects (20) | 34.4K | 18.5K | 🟢 +85.9% |
| data: large array (10K) | 83 | 76 | 🟢 +9.6% |
| data: Map & Set | 6.2K | 3.9K | 🟢 +60.9% |
| data: Date/BigInt/Symbol | 71.9K | 23.8K | 🟢 +202.2% |
| data: typed arrays | 26.3K | 11.9K | 🟢 +120.8% |
| data: mixed payload | 6.0K | 3.1K | 🟢 +93.1% |
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.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #418 +/- ##
=======================================
Coverage ? 91.97%
=======================================
Files ? 3
Lines ? 3591
Branches ? 1174
=======================================
Hits ? 3303
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:
|
⚡ 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. |
Automated daily upgrade of Vite, Rolldown, and/or Vitest to the latest available versions.
Vite:
8.0.10→8.0.11Vitest:
5.0.0-beta.1→5.0.0-beta.2Updated 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 ✅