chore: upgrade Rolldown 1.0.0#419
Conversation
⚡ Flight Protocol BenchmarkCommit: Serialization (
|
| Scenario | @lazarv/rsc | webpack | vs webpack |
|---|---|---|---|
| react: minimal element | 210.1K | 35.2K | 🟢 +497.0% |
| react: shallow wide (1000) | 2.3K | 334 | 🟢 +582.9% |
| react: deep nested (100) | 17.4K | 5.8K | 🟢 +200.8% |
| react: product list (50) | 6.4K | 2.1K | 🟢 +208.2% |
| react: large table (500x10) | 308 | 86 | 🟢 +256.6% |
| data: primitives | 165.3K | 42.2K | 🟢 +291.4% |
| data: large string (100KB) | 7.0K | 6.7K | 🟢 +4.9% |
| data: nested objects (20) | 55.8K | 28.1K | 🟢 +98.6% |
| data: large array (10K) | 130 | 126 | 🟢 +3.4% |
| data: Map & Set | 11.3K | 6.4K | 🟢 +75.4% |
| data: Date/BigInt/Symbol | 155.3K | 43.1K | 🟢 +260.7% |
| data: typed arrays | 31.5K | 13.0K | 🟢 +143.1% |
| data: mixed payload | 8.9K | 4.5K | 🟢 +98.3% |
Prerender (prerender)
| Scenario | @lazarv/rsc ops/s | mean |
|---|---|---|
| react: minimal element | 215.1K | 4.6 µs |
| react: shallow wide (1000) | 2.1K | 485.1 µs |
| react: deep nested (100) | 16.0K | 62.7 µs |
| react: product list (50) | 5.9K | 169.6 µs |
| react: large table (500x10) | 288 | 3.47 ms |
| data: primitives | 180.3K | 5.5 µs |
| data: large string (100KB) | 724 | 1.38 ms |
| data: nested objects (20) | 56.9K | 17.6 µs |
| data: large array (10K) | 128 | 7.80 ms |
| data: Map & Set | 11.7K | 85.1 µs |
| data: Date/BigInt/Symbol | 171.1K | 5.8 µs |
| data: typed arrays | 770 | 1.30 ms |
| data: mixed payload | 8.0K | 124.3 µs |
Deserialization (createFromReadableStream)
| Scenario | @lazarv/rsc | webpack | vs webpack |
|---|---|---|---|
| react: minimal element | 153.4K | 135.8K | 🟢 +13.0% |
| react: shallow wide (1000) | 21.0K | 1.6K | 🟢 +1205.7% |
| react: deep nested (100) | 90.0K | 19.2K | 🟢 +369.2% |
| react: product list (50) | 48.6K | 13.6K | 🟢 +257.9% |
| react: large table (500x10) | 4.5K | 2.1K | 🟢 +121.1% |
| data: primitives | 126.7K | 125.9K | ⚪ +0.6% |
| data: large string (100KB) | 37.3K | 34.5K | 🟢 +8.0% |
| data: nested objects (20) | 76.8K | 68.7K | 🟢 +11.9% |
| data: large array (10K) | 305 | 272 | 🟢 +11.9% |
| data: Map & Set | 16.5K | 15.1K | 🟢 +9.6% |
| data: Date/BigInt/Symbol | 122.4K | 112.0K | 🟢 +9.3% |
| data: typed arrays | 54.9K | 41.4K | 🟢 +32.6% |
| data: mixed payload | 23.4K | 15.5K | 🟢 +51.4% |
Roundtrip (serialize + deserialize)
| Scenario | @lazarv/rsc | webpack | vs webpack |
|---|---|---|---|
| react: minimal element | 98.3K | 27.6K | 🟢 +256.8% |
| react: shallow wide (1000) | 1.8K | 286 | 🟢 +524.0% |
| react: deep nested (100) | 14.4K | 4.4K | 🟢 +229.0% |
| react: product list (50) | 5.5K | 1.7K | 🟢 +227.3% |
| react: large table (500x10) | 277 | 81 | 🟢 +241.6% |
| data: primitives | 81.1K | 31.1K | 🟢 +160.9% |
| data: large string (100KB) | 6.1K | 6.8K | 🔴 -10.9% |
| data: nested objects (20) | 32.7K | 21.0K | 🟢 +55.6% |
| data: large array (10K) | 87 | 74 | 🟢 +18.6% |
| data: Map & Set | 6.7K | 4.4K | 🟢 +54.2% |
| data: Date/BigInt/Symbol | 76.7K | 30.4K | 🟢 +152.4% |
| data: typed arrays | 24.3K | 12.1K | 🟢 +100.8% |
| data: mixed payload | 6.2K | 3.3K | 🟢 +85.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.
❌ 6 Tests Failed:
View the top 3 failed test(s) by shortest run time
To view more test analytics, go to the Test Analytics Dashboard |
⚡ 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.
Rolldown:
1.0.0-rc.18→1.0.0Updated 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 ✅