@@ -20,7 +20,7 @@ Benchmark comparing JavaScript bundlers and build tools ([Rspack](https://github
20
20
21
21
## Results
22
22
23
- > Data from GitHub Actions: https://github.com/rspack-contrib/build-tools-performance/actions/runs/16882999686 (2025-08-11 )
23
+ > Data from GitHub Actions: https://github.com/rspack-contrib/build-tools-performance/actions/runs/16933081512 (2025-08-13 )
24
24
25
25
### react-1k
26
26
@@ -30,15 +30,13 @@ A React app with 1,000 components and 1,500 modules from node_modules, using dyn
30
30
CASE=react-1k pnpm benchmark
31
31
```
32
32
33
- | Name | Dev cold start | HMR | Prod build | Total size | Gzipped size |
34
- | ------------------------------ | -------------- | ------- | ---------- | ---------- | ------------ |
35
- | Rspack CLI 1.5.0-beta.0 | 793ms | 123ms | 591ms | 838.9kB🥉 | 218.5kB |
36
- | Rspack CLI (Lazy) 1.5.0-beta.0 | 435ms🥇 | 89ms🥇 | 573ms | 838.9kB | 218.5kB |
37
- | Rsbuild 1.5.0-beta.0 | 552ms🥈 | 102ms🥉 | 464ms🥈 | 870.6kB | 212.4kB🥇 |
38
- | Rsbuild (Lazy) 1.5.0-beta.0 | 599ms🥉 | 95ms🥈 | 472ms🥉 | 870.6kB | 212.4kB🥈 |
39
- | Vite (Rolldown + Oxc) 7.1.0 | 4123ms | 158ms | 385ms🥇 | 839.7kB | 230.8kB |
40
- | Vite (Rollup + SWC) 7.1.1 | 3532ms | 152ms | 1842ms | 798.8kB🥇 | 215.7kB🥉 |
41
- | webpack (SWC) 5.101.0 | 3107ms | 303ms | 2467ms | 836.0kB🥈 | 223.6kB |
33
+ | Name | Dev cold start | HMR | Prod build | Total size | Gzipped size |
34
+ | --------------------------- | -------------- | ------- | ---------- | ---------- | ------------ |
35
+ | Rspack CLI 1.5.0-beta.0 | 466ms🥇 | 106ms🥈 | 598ms🥈 | 838.9kB🥉 | 218.5kB🥉 |
36
+ | Rsbuild 1.5.0-beta.1 | 714ms🥈 | 91ms🥇 | 726ms🥉 | 870.6kB | 212.4kB🥇 |
37
+ | Vite (Rolldown + Oxc) 7.1.0 | 5057ms | 133ms | 503ms🥇 | 839.7kB | 230.8kB |
38
+ | Vite (Rollup + SWC) 7.1.1 | 3958ms | 129ms🥉 | 2076ms | 798.8kB🥇 | 215.7kB🥈 |
39
+ | webpack (SWC) 5.101.0 | 3506ms🥉 | 356ms | 2867ms | 836.0kB🥈 | 223.6kB |
42
40
43
41
### react-5k
44
42
@@ -48,15 +46,13 @@ A React app with 5,000 components and 5,000 modules from node_modules, using dyn
48
46
CASE=react-5k pnpm benchmark
49
47
```
50
48
51
- | Name | Dev cold start | HMR | Prod build | Total size | Gzipped size |
52
- | ------------------------------ | -------------- | ------- | ---------- | ---------- | ------------ |
53
- | Rspack CLI 1.5.0-beta.0 | 1881ms🥉 | 202ms | 1465ms🥈 | 2846.4kB | 677.1kB🥇 |
54
- | Rspack CLI (Lazy) 1.5.0-beta.0 | 721ms🥇 | 93ms🥇 | 1622ms | 2846.4kB | 677.1kB🥈 |
55
- | Rsbuild 1.5.0-beta.0 | 1948ms | 199ms | 1638ms | 2877.4kB | 678.4kB🥉 |
56
- | Rsbuild (Lazy) 1.5.0-beta.0 | 773ms🥈 | 101ms🥉 | 1534ms🥉 | 2877.4kB | 678.4kB |
57
- | Vite (Rolldown + Oxc) 7.1.0 | 4227ms | 120ms | 1105ms🥇 | 2718.0kB🥈 | 751.7kB |
58
- | Vite (Rollup + SWC) 7.1.1 | 4041ms | 99ms🥈 | 5972ms | 2576.7kB🥇 | 687.7kB |
59
- | webpack (SWC) 5.101.0 | 11502ms | 1067ms | 7268ms | 2824.8kB🥉 | 695.8kB |
49
+ | Name | Dev cold start | HMR | Prod build | Total size | Gzipped size |
50
+ | --------------------------- | -------------- | ------- | ---------- | ---------- | ------------ |
51
+ | Rspack CLI 1.5.0-beta.0 | 745ms🥇 | 84ms🥇 | 2230ms🥈 | 2846.4kB | 677.1kB🥇 |
52
+ | Rsbuild 1.5.0-beta.1 | 1033ms🥈 | 101ms🥈 | 2370ms🥉 | 2877.4kB | 678.4kB🥈 |
53
+ | Vite (Rolldown + Oxc) 7.1.0 | 5745ms | 143ms | 1821ms🥇 | 2718.0kB🥈 | 751.7kB |
54
+ | Vite (Rollup + SWC) 7.1.1 | 5234ms🥉 | 102ms🥉 | 8645ms | 2576.7kB🥇 | 687.7kB🥉 |
55
+ | webpack (SWC) 5.101.0 | 15324ms | 2158ms | 10635ms | 2824.8kB🥉 | 695.8kB |
60
56
61
57
### react-10k
62
58
@@ -66,15 +62,13 @@ A React app with 10,000 components and 10,000 modules from node_modules, using d
66
62
CASE=react-10k pnpm benchmark
67
63
```
68
64
69
- | Name | Dev cold start | HMR | Prod build | Total size | Gzipped size |
70
- | ------------------------------ | -------------- | ------- | ---------- | ---------- | ------------ |
71
- | Rspack CLI 1.5.0-beta.0 | 4401ms | 432ms | 2971ms🥉 | 5996.2kB | 1367.0kB🥇 |
72
- | Rspack CLI (Lazy) 1.5.0-beta.0 | 524ms🥇 | 103ms🥈 | 2734ms🥈 | 5996.2kB | 1367.0kB🥈 |
73
- | Rsbuild 1.5.0-beta.0 | 3792ms🥉 | 417ms | 3603ms | 6054.4kB | 1367.2kB🥉 |
74
- | Rsbuild (Lazy) 1.5.0-beta.0 | 741ms🥈 | 98ms🥇 | 3389ms | 6054.4kB | 1367.2kB |
75
- | Vite (Rolldown + Oxc) 7.1.0 | 6101ms | 148ms | 2117ms🥇 | 5675.7kB🥈 | 1546.6kB |
76
- | Vite (Rollup + SWC) 7.1.1 | 4828ms | 140ms🥉 | 9669ms | 5366.6kB🥇 | 1408.3kB |
77
- | webpack (SWC) 5.101.0 | 16865ms | 3651ms | 13413ms | 5947.1kB🥉 | 1450.0kB |
65
+ | Name | Dev cold start | HMR | Prod build | Total size | Gzipped size |
66
+ | --------------------------- | -------------- | ------- | ---------- | ---------- | ------------ |
67
+ | Rspack CLI 1.5.0-beta.0 | 632ms🥇 | 109ms🥈 | 2568ms🥈 | 5996.2kB | 1367.0kB🥇 |
68
+ | Rsbuild 1.5.0-beta.1 | 717ms🥈 | 100ms🥇 | 3091ms🥉 | 6054.4kB | 1367.2kB🥈 |
69
+ | Vite (Rolldown + Oxc) 7.1.0 | 5212ms🥉 | 148ms | 1853ms🥇 | 5675.7kB🥈 | 1546.6kB |
70
+ | Vite (Rollup + SWC) 7.1.1 | 5314ms | 144ms🥉 | 10248ms | 5366.6kB🥇 | 1408.3kB🥉 |
71
+ | webpack (SWC) 5.101.0 | 14392ms | 3222ms | 12003ms | 5947.1kB🥉 | 1450.0kB |
78
72
79
73
### ui-components
80
74
@@ -88,14 +82,14 @@ CASE=ui-components pnpm benchmark
88
82
89
83
| Name | Prod build | Total size | Gzipped size |
90
84
| --------------------------- | ---------- | ---------- | ------------ |
91
- | Rspack CLI 1.5.0-beta.0 | 4871ms | 2030.6kB🥈 | 618.3kB🥈 |
92
- | Rsbuild 1.5.0-beta.0 | 5450ms | 2028.5kB🥇 | 617.8kB🥇 |
93
- | Vite (Rollup + SWC) 7.1.1 | 19229ms | 2043.5kB | 640.3kB |
94
- | Vite (Rolldown + Oxc) 7.1.0 | 2668ms🥇 | 2053.0kB | 635.6kB |
95
- | Rolldown 1.0.0-beta.32 | 2885ms🥈 | 2067.6kB | 636.1kB |
96
- | webpack (SWC) 5.101.0 | 20034ms | 2030.6kB🥉 | 619.5kB🥉 |
97
- | esbuild 0.25.8 | 3159ms 🥉 | 2846.5kB | 873.4kB |
98
- | Farm 1.7.11 | 3711ms | 3768.8kB | 1312.5kB |
85
+ | Rspack CLI 1.5.0-beta.0 | 2541ms | 2030.6kB🥈 | 618.3kB🥈 |
86
+ | Rsbuild 1.5.0-beta.1 | 2915ms | 2028.5kB🥇 | 617.8kB🥇 |
87
+ | Vite (Rollup + SWC) 7.1.1 | 10602ms | 2043.5kB | 640.3kB |
88
+ | Vite (Rolldown + Oxc) 7.1.0 | 1270ms🥈 | 2053.0kB | 635.6kB |
89
+ | Rolldown 1.0.0-beta.32 | 1187ms🥇 | 2067.6kB | 636.1kB |
90
+ | webpack (SWC) 5.101.0 | 12034ms | 2030.6kB🥉 | 619.5kB🥉 |
91
+ | esbuild 0.25.8 | 1647ms 🥉 | 2846.5kB | 873.4kB |
92
+ | Farm 1.7.11 | 2313ms | 3768.8kB | 1312.5kB |
99
93
100
94
### rome
101
95
@@ -107,11 +101,11 @@ CASE=rome pnpm benchmark
107
101
108
102
| Name | Prod build | Total size | Gzipped size |
109
103
| ----------------------- | ---------- | ---------- | ------------ |
110
- | Rspack CLI 1.5.0-beta.0 | 1156ms | 1009.3kB🥈 | 270.9kB🥈 |
111
- | Rsbuild 1.5.0-beta.0 | 1048ms🥉 | 1009.3kB🥉 | 271.0kB🥉 |
112
- | Rolldown 1.0.0-beta.32 | 580ms 🥈 | 1015.2kB | 272.8kB |
113
- | webpack (SWC) 5.101.0 | 4332ms | 1007.4kB🥇 | 270.6kB🥇 |
114
- | esbuild 0.25.8 | 340ms 🥇 | 1025.3kB | 276.7kB |
104
+ | Rspack CLI 1.5.0-beta.0 | 711ms | 1009.3kB🥈 | 270.9kB🥈 |
105
+ | Rsbuild 1.5.0-beta.1 | 652ms🥉 | 1009.3kB🥉 | 271.0kB🥉 |
106
+ | Rolldown 1.0.0-beta.32 | 315ms 🥈 | 1015.2kB | 272.8kB |
107
+ | webpack (SWC) 5.101.0 | 3142ms | 1007.4kB🥇 | 270.6kB🥇 |
108
+ | esbuild 0.25.8 | 278ms 🥇 | 1025.3kB | 276.7kB |
115
109
116
110
## Run locally
117
111
0 commit comments