@@ -23,7 +23,7 @@ Benchmark comparing JavaScript bundlers and build tools ([Rspack](https://github
23
23
24
24
## Results
25
25
26
- > Data from GitHub Actions: https://github.com/rspack-contrib/build-tools-performance/actions/runs/16198040814 (2025-07-10)
26
+ > Data from GitHub Actions: https://github.com/rspack-contrib/build-tools-performance/actions/runs/16210846550 (2025-07-10)
27
27
28
28
### react-1k
29
29
@@ -35,27 +35,27 @@ CASE=react-1k pnpm benchmark
35
35
36
36
#### Build performance
37
37
38
- | Name | Dev cold start | Root HMR | Leaf HMR | Prod build |
39
- | --------------------------- | ------------------------ | -------- | -------- | ---------- |
40
- | Rspack CLI 1.4.6 | 1662ms (1253ms + 408ms) | 193ms | 163ms | 1255ms |
41
- | Rspack CLI (Lazy) 1.4.6 | 792ms (677ms + 114ms ) | 203ms | 146ms | 1387ms |
42
- | Rsbuild 1.4.6 | 1267ms (932ms + 334ms ) | 154ms | 123ms | 1156ms |
43
- | Rsbuild (Lazy) 1.4.6 | 1312ms (942ms + 369ms ) | 203ms | 124ms | 1061ms |
44
- | Vite (Rolldown + Oxc) 7.0.7 | 6604ms (200ms + 6403ms ) | 173ms | 67ms | 738ms |
45
- | Vite (Rollup + SWC) 7.0.4 | 7309ms (254ms + 7055ms ) | 146ms | 141ms | 4130ms |
46
- | webpack (SWC) 5.100.0 | 6323ms (5205ms + 1117ms) | 681ms | 419ms | 6208ms |
38
+ | Name | Dev cold start | Root HMR | Leaf HMR | Prod build |
39
+ | --------------------------- | --------------------- | -------- | -------- | ---------- |
40
+ | Rspack CLI 1.4.6 | 1450ms🥉 (1207 + 243) | 222ms | 149ms | 1285ms🥈 |
41
+ | Rspack CLI (Lazy) 1.4.6 | 401ms🥇 (346 + 55 ) | 90ms🥇 | 92ms🥈 | 1353ms🥉 |
42
+ | Rsbuild 1.4.6 | 1479ms (1251 + 228 ) | 206ms | 156ms | 1383ms |
43
+ | Rsbuild (Lazy) 1.4.6 | 506ms🥈 (369 + 137 ) | 100ms🥈 | 66ms🥇 | 1386ms |
44
+ | Vite (Rolldown + Oxc) 7.0.7 | 2664ms (120 + 2543 ) | 134ms🥉 | 109ms | 842ms🥇 |
45
+ | Vite (Rollup + SWC) 7.0.4 | 2778ms (116 + 2661 ) | 134ms | 106ms🥉 | 4709ms |
46
+ | webpack (SWC) 5.100.0 | 7461ms (6839 + 622) | 763ms | 730ms | 8901ms |
47
47
48
- #### Bundle size
48
+ #### Bundle sizes
49
49
50
50
| Name | Total size | Gzipped size |
51
51
| --------------------------- | ---------- | ------------ |
52
- | Rspack CLI 1.4.6 | 839.0kB | 218.6kB |
53
- | Rspack CLI (Lazy) 1.4.6 | 839.0kB | 218.6kB |
54
- | Rsbuild 1.4.6 | 870.7kB | 212.4kB |
55
- | Rsbuild (Lazy) 1.4.6 | 870.7kB | 212.4kB |
56
- | Vite (Rolldown + Oxc) 7.0.7 | 839.8kB | 230.8kB |
57
- | Vite (Rollup + SWC) 7.0.4 | 801 .1kB | 216.3kB |
58
- | webpack (SWC) 5.100.0 | 883.4kB | 238.1kB |
52
+ | Rspack CLI 1.4.6 | 2846.4kB🥉 | 677.2kB🥇 |
53
+ | Rspack CLI (Lazy) 1.4.6 | 2846.4kB | 677.2kB🥈 |
54
+ | Rsbuild 1.4.6 | 2877.4kB | 678.5kB🥉 |
55
+ | Rsbuild (Lazy) 1.4.6 | 2877.4kB | 678.5kB |
56
+ | Vite (Rolldown + Oxc) 7.0.7 | 2718.1kB🥈 | 751.9kB |
57
+ | Vite (Rollup + SWC) 7.0.4 | 2579 .1kB🥇 | 688.5kB |
58
+ | webpack (SWC) 5.100.0 | 2872.1kB | 710.2kB |
59
59
60
60
### react-5k
61
61
@@ -67,26 +67,26 @@ CASE=react-5k pnpm benchmark
67
67
68
68
#### Build performance
69
69
70
- | Name | Dev cold start | Root HMR | Leaf HMR | Prod build |
71
- | --------------------------- | ----------------------- | -------- | -------- | ---------- |
72
- | Rspack CLI 1.4.6 | 1339ms (1109ms + 229ms ) | 196ms | 140ms | 1185ms |
73
- | Rspack CLI (Lazy) 1.4.6 | 318ms (279ms + 39ms ) | 101ms | 87ms | 1177ms |
74
- | Rsbuild 1.4.6 | 1278ms (1114ms + 164ms) | 196ms | 162ms | 1246ms |
75
- | Rsbuild (Lazy) 1.4.6 | 431ms (311ms + 120ms ) | 99ms | 84ms | 1243ms |
76
- | Vite (Rolldown + Oxc) 7.0.7 | 2327ms (104ms + 2223ms) | 122ms | 100ms | 746ms |
77
- | Vite (Rollup + SWC) 7.0.4 | 2723ms (107ms + 2616ms) | 125ms | 101ms | 4566ms |
78
- | webpack (SWC) 5.100.0 | 7285ms (6635ms + 650ms) | 779ms | 657ms | 8858ms |
70
+ | Name | Dev cold start | Root HMR | Leaf HMR | Prod build |
71
+ | --------------------------- | --------------------- | -------- | -------- | ---------- |
72
+ | Rspack CLI 1.4.6 | 1450ms🥉 (1207 + 243 ) | 222ms | 149ms | 1285ms🥈 |
73
+ | Rspack CLI (Lazy) 1.4.6 | 401ms🥇 (346 + 55 ) | 90ms🥇 | 92ms🥈 | 1353ms🥉 |
74
+ | Rsbuild 1.4.6 | 1479ms (1251 + 228) | 206ms | 156ms | 1383ms |
75
+ | Rsbuild (Lazy) 1.4.6 | 506ms🥈 (369 + 137 ) | 100ms🥈 | 66ms🥇 | 1386ms |
76
+ | Vite (Rolldown + Oxc) 7.0.7 | 2664ms (120 + 2543) | 134ms🥉 | 109ms | 842ms🥇 |
77
+ | Vite (Rollup + SWC) 7.0.4 | 2778ms (116 + 2661) | 134ms | 106ms🥉 | 4709ms |
78
+ | webpack (SWC) 5.100.0 | 7461ms (6839 + 622) | 763ms | 730ms | 8901ms |
79
79
80
- #### Bundle size
80
+ #### Bundle sizes
81
81
82
82
| Name | Total size | Gzipped size |
83
83
| --------------------------- | ---------- | ------------ |
84
- | Rspack CLI 1.4.6 | 2846.4kB | 677.2kB |
85
- | Rspack CLI (Lazy) 1.4.6 | 2846.4kB | 677.2kB |
86
- | Rsbuild 1.4.6 | 2877.4kB | 678.5kB |
84
+ | Rspack CLI 1.4.6 | 2846.4kB🥉 | 677.2kB🥇 |
85
+ | Rspack CLI (Lazy) 1.4.6 | 2846.4kB | 677.2kB🥈 |
86
+ | Rsbuild 1.4.6 | 2877.4kB | 678.5kB🥉 |
87
87
| Rsbuild (Lazy) 1.4.6 | 2877.4kB | 678.5kB |
88
- | Vite (Rolldown + Oxc) 7.0.7 | 2718.1kB | 751.9kB |
89
- | Vite (Rollup + SWC) 7.0.4 | 2579.1kB | 688.5kB |
88
+ | Vite (Rolldown + Oxc) 7.0.7 | 2718.1kB🥈 | 751.9kB |
89
+ | Vite (Rollup + SWC) 7.0.4 | 2579.1kB🥇 | 688.5kB |
90
90
| webpack (SWC) 5.100.0 | 2872.1kB | 710.2kB |
91
91
92
92
### react-10k
@@ -99,27 +99,27 @@ CASE=react-10k pnpm benchmark
99
99
100
100
#### Build performance
101
101
102
- | Name | Dev cold start | Root HMR | Leaf HMR | Prod build |
103
- | --------------------------- | -------------------------- | -------- | -------- | ---------- |
104
- | Rspack CLI 1.4.6 | 3709ms (3270ms + 439ms ) | 440ms | 295ms | 3198ms |
105
- | Rspack CLI (Lazy) 1.4.6 | 584ms (511ms + 72ms ) | 104ms | 107ms | 2884ms |
106
- | Rsbuild 1.4.6 | 2872ms (2569ms + 303ms ) | 356ms | 274ms | 2629ms |
107
- | Rsbuild (Lazy) 1.4.6 | 798ms (572ms + 226ms ) | 97ms | 95ms | 3095ms |
108
- | Vite (Rolldown + Oxc) 7.0.7 | 5255ms (186ms + 5069ms ) | 171ms | 125ms | 1920ms |
109
- | Vite (Rollup + SWC) 7.0.4 | 5836ms (205ms + 5630ms ) | 174ms | 126ms | 10125ms |
110
- | webpack (SWC) 5.100.0 | 14110ms (13101ms + 1009ms ) | 3770ms | 2774ms | 17626ms |
102
+ | Name | Dev cold start | Root HMR | Leaf HMR | Prod build |
103
+ | --------------------------- | ---------------------- | -------- | -------- | ---------- |
104
+ | Rspack CLI 1.4.6 | 2922ms🥉 (2608 + 313 ) | 355ms | 275ms | 2554ms🥈 |
105
+ | Rspack CLI (Lazy) 1.4.6 | 398ms🥇 (346 + 52 ) | 120ms🥈 | 103ms🥇 | 2577ms🥉 |
106
+ | Rsbuild 1.4.6 | 2979ms (2702 + 277 ) | 360ms | 258ms | 2934ms |
107
+ | Rsbuild (Lazy) 1.4.6 | 695ms🥈 (516 + 178 ) | 113ms🥇 | 109ms🥈 | 2915ms |
108
+ | Vite (Rolldown + Oxc) 7.0.7 | 4363ms (161 + 4202 ) | 171ms🥉 | 141ms | 1606ms🥇 |
109
+ | Vite (Rollup + SWC) 7.0.4 | 4773ms (167 + 4606 ) | 174ms | 135ms🥉 | 9433ms |
110
+ | webpack (SWC) 5.100.0 | 13868ms (12842 + 1026 ) | 3321ms | 2326ms | 17815ms |
111
111
112
- #### Bundle size
112
+ #### Bundle sizes
113
113
114
114
| Name | Total size | Gzipped size |
115
115
| --------------------------- | ---------- | ------------ |
116
- | Rspack CLI 1.4.6 | 5996.4kB | 1367.2kB |
117
- | Rspack CLI (Lazy) 1.4.6 | 5996.4kB | 1367.2kB |
118
- | Rsbuild 1.4.6 | 6054.6kB | 1367.4kB |
116
+ | Rspack CLI 1.4.6 | 5996.4kB | 1367.2kB🥇 |
117
+ | Rspack CLI (Lazy) 1.4.6 | 5996.4kB | 1367.2kB🥈 |
118
+ | Rsbuild 1.4.6 | 6054.6kB | 1367.4kB🥉 |
119
119
| Rsbuild (Lazy) 1.4.6 | 6054.6kB | 1367.4kB |
120
- | Vite (Rolldown + Oxc) 7.0.7 | 5675.8kB | 1546.6kB |
121
- | Vite (Rollup + SWC) 7.0.4 | 5369.0kB | 1409.2kB |
122
- | webpack (SWC) 5.100.0 | 5994.5kB | 1464.3kB |
120
+ | Vite (Rolldown + Oxc) 7.0.7 | 5675.8kB🥈 | 1546.6kB |
121
+ | Vite (Rollup + SWC) 7.0.4 | 5369.0kB🥇 | 1409.2kB |
122
+ | webpack (SWC) 5.100.0 | 5994.5kB🥉 | 1464.3kB |
123
123
124
124
### ui-components
125
125
@@ -133,23 +133,23 @@ CASE=ui-components pnpm benchmark
133
133
134
134
| Name | Prod build |
135
135
| --------------------------- | ---------- |
136
- | Rspack CLI 1.4.6 | 1640ms |
137
- | Rsbuild 1.4.6 | 1536ms |
138
- | Vite (Rollup + SWC) 7.0.4 | 6286ms |
139
- | Vite (Rolldown + Oxc) 7.0.7 | 672ms |
140
- | Rolldown 1.0.0-beta.25 | 567ms |
141
- | webpack (SWC) 5.100.0 | 15943ms |
136
+ | Rspack CLI 1.4.6 | 2619ms🥉 |
137
+ | Rsbuild 1.4.6 | 2907ms |
138
+ | Vite (Rollup + SWC) 7.0.4 | 9571ms |
139
+ | Vite (Rolldown + Oxc) 7.0.7 | 1284ms🥈 |
140
+ | Rolldown 1.0.0-beta.25 | 1200ms🥇 |
141
+ | webpack (SWC) 5.100.0 | 21616ms |
142
142
143
- #### Bundle size
143
+ #### Bundle sizes
144
144
145
145
| Name | Total size | Gzipped size |
146
146
| --------------------------- | ---------- | ------------ |
147
- | Rspack CLI 1.4.6 | 2210.3kB | 621.7kB |
148
- | Rsbuild 1.4.6 | 2021.9kB | 615.9kB |
149
- | Vite (Rollup + SWC) 7.0.4 | 2037.5kB | 638.2kB |
150
- | Vite (Rolldown + Oxc) 7.0.7 | 2054.4kB | 636.3kB |
147
+ | Rspack CLI 1.4.6 | 2210.3kB | 621.7kB🥈 |
148
+ | Rsbuild 1.4.6 | 2021.9kB🥇 | 615.9kB🥇 |
149
+ | Vite (Rollup + SWC) 7.0.4 | 2037.5kB🥈 | 638.2kB |
150
+ | Vite (Rolldown + Oxc) 7.0.7 | 2054.4kB🥉 | 636.3kB |
151
151
| Rolldown 1.0.0-beta.25 | 2071.2kB | 637.3kB |
152
- | webpack (SWC) 5.100.0 | 2072.9kB | 624.9kB |
152
+ | webpack (SWC) 5.100.0 | 2072.9kB | 624.9kB🥉 |
153
153
154
154
### rome
155
155
@@ -163,19 +163,19 @@ CASE=rome pnpm benchmark
163
163
164
164
| Name | Prod build |
165
165
| ---------------------- | ---------- |
166
- | Rspack CLI 1.4.6 | 1535ms |
167
- | Rsbuild 1.4.6 | 1293ms |
168
- | Rolldown 1.0.0-beta.25 | 456ms |
169
- | webpack (SWC) 5.100.0 | 13517ms |
166
+ | Rspack CLI 1.4.6 | 1848ms🥉 |
167
+ | Rsbuild 1.4.6 | 1777ms🥈 |
168
+ | Rolldown 1.0.0-beta.25 | 383ms🥇 |
169
+ | webpack (SWC) 5.100.0 | 11715ms |
170
170
171
- #### Bundle size
171
+ #### Bundle sizes
172
172
173
173
| Name | Total size | Gzipped size |
174
174
| ---------------------- | ---------- | ------------ |
175
- | Rspack CLI 1.4.6 | 1009.3kB | 270.9kB |
176
- | Rsbuild 1.4.6 | 1009.3kB | 270.9kB |
177
- | Rolldown 1.0.0-beta.25 | 1016.4kB | 273.6kB |
178
- | webpack (SWC) 5.100.0 | 1023.3kB | 272.0kB |
175
+ | Rspack CLI 1.4.6 | 1009.3kB🥇 | 270.9kB🥇 |
176
+ | Rsbuild 1.4.6 | 1009.3kB🥈 | 270.9kB🥈 |
177
+ | Rolldown 1.0.0-beta.25 | 1016.4kB🥉 | 273.6kB |
178
+ | webpack (SWC) 5.100.0 | 1023.3kB | 272.0kB🥉 |
179
179
180
180
## Run locally
181
181
0 commit comments