Commit e6fbf6e
authored
Add setting
Right now, only library targets provide metadata-related output groups.
This makes sense for compilation purposes, but building the metadata is
also useful for other things; namely, building *only* the metadata is
the fastest way to get diagnostic information for your workspace like
`cargo check` does.
This PR adds a new setting, `always_enable_metadata_output_groups`, that
enables both the `build_metadata` and `rustc_rmeta_output` output groups
for non-library targets (such as binaries and tests). That means that
the presence of metadata in `CrateInfo` can no longer be used to
determine pipelind compilation support, so a new attribute,
`metadata_supports_pipelining`, is added for that purpose.
As an example of the performance increase, compare a `bazel build` on a
binary w/o `--output_groups=rustc_rmeta_output`:
```
INFO: Elapsed time: 2.247s, Critical Path: 2.11s
```
to with it:
```
INFO: Elapsed time: 1.034s, Critical Path: 0.90s
```always_enable_metadata_output_groups (#3524)1 parent dfd7346 commit e6fbf6e
File tree
16 files changed
+346
-17
lines changed- extensions
- prost/private
- protobuf
- rust
- private
- settings
- test/unit
- metadata_output_groups
- pipelined_compilation
16 files changed
+346
-17
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
22 | 27 | | |
23 | 28 | | |
24 | 29 | | |
| |||
181 | 186 | | |
182 | 187 | | |
183 | 188 | | |
| 189 | + | |
| 190 | + | |
184 | 191 | | |
185 | 192 | | |
186 | 193 | | |
| |||
190 | 197 | | |
191 | 198 | | |
192 | 199 | | |
| 200 | + | |
| 201 | + | |
193 | 202 | | |
194 | 203 | | |
195 | 204 | | |
| |||
205 | 214 | | |
206 | 215 | | |
207 | 216 | | |
| 217 | + | |
| 218 | + | |
208 | 219 | | |
209 | 220 | | |
210 | 221 | | |
| |||
373 | 384 | | |
374 | 385 | | |
375 | 386 | | |
376 | | - | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
377 | 393 | | |
378 | 394 | | |
379 | 395 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
24 | 33 | | |
25 | 34 | | |
26 | 35 | | |
| |||
194 | 203 | | |
195 | 204 | | |
196 | 205 | | |
| 206 | + | |
| 207 | + | |
197 | 208 | | |
198 | 209 | | |
199 | 210 | | |
200 | 211 | | |
201 | 212 | | |
202 | 213 | | |
| 214 | + | |
| 215 | + | |
203 | 216 | | |
204 | 217 | | |
205 | 218 | | |
| |||
223 | 236 | | |
224 | 237 | | |
225 | 238 | | |
| 239 | + | |
| 240 | + | |
226 | 241 | | |
227 | 242 | | |
228 | 243 | | |
| |||
311 | 326 | | |
312 | 327 | | |
313 | 328 | | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
314 | 332 | | |
315 | 333 | | |
316 | 334 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
| 54 | + | |
| 55 | + | |
54 | 56 | | |
55 | 57 | | |
56 | 58 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| 28 | + | |
| 29 | + | |
28 | 30 | | |
29 | 31 | | |
30 | 32 | | |
| |||
98 | 100 | | |
99 | 101 | | |
100 | 102 | | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
101 | 114 | | |
102 | 115 | | |
103 | 116 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| 31 | + | |
31 | 32 | | |
32 | 33 | | |
33 | 34 | | |
| |||
177 | 178 | | |
178 | 179 | | |
179 | 180 | | |
180 | | - | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
181 | 188 | | |
182 | 189 | | |
183 | 190 | | |
184 | 191 | | |
185 | 192 | | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
186 | 197 | | |
187 | 198 | | |
188 | 199 | | |
| |||
203 | 214 | | |
204 | 215 | | |
205 | 216 | | |
| 217 | + | |
206 | 218 | | |
207 | 219 | | |
208 | 220 | | |
| |||
242 | 254 | | |
243 | 255 | | |
244 | 256 | | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
245 | 266 | | |
246 | 267 | | |
247 | 268 | | |
| |||
256 | 277 | | |
257 | 278 | | |
258 | 279 | | |
| 280 | + | |
| 281 | + | |
259 | 282 | | |
260 | 283 | | |
261 | 284 | | |
| |||
337 | 360 | | |
338 | 361 | | |
339 | 362 | | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
340 | 372 | | |
341 | 373 | | |
342 | 374 | | |
| |||
371 | 403 | | |
372 | 404 | | |
373 | 405 | | |
| 406 | + | |
| 407 | + | |
374 | 408 | | |
375 | 409 | | |
376 | 410 | | |
| |||
381 | 415 | | |
382 | 416 | | |
383 | 417 | | |
| 418 | + | |
| 419 | + | |
384 | 420 | | |
385 | 421 | | |
386 | 422 | | |
| |||
402 | 438 | | |
403 | 439 | | |
404 | 440 | | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
405 | 450 | | |
406 | 451 | | |
407 | 452 | | |
| |||
412 | 457 | | |
413 | 458 | | |
414 | 459 | | |
415 | | - | |
| 460 | + | |
416 | 461 | | |
417 | 462 | | |
418 | 463 | | |
| |||
421 | 466 | | |
422 | 467 | | |
423 | 468 | | |
| 469 | + | |
| 470 | + | |
424 | 471 | | |
425 | 472 | | |
426 | 473 | | |
| |||
534 | 581 | | |
535 | 582 | | |
536 | 583 | | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
537 | 587 | | |
538 | 588 | | |
539 | 589 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
31 | 39 | | |
32 | 40 | | |
33 | 41 | | |
| |||
307 | 315 | | |
308 | 316 | | |
309 | 317 | | |
310 | | - | |
| 318 | + | |
311 | 319 | | |
312 | 320 | | |
313 | 321 | | |
| |||
2014 | 2022 | | |
2015 | 2023 | | |
2016 | 2024 | | |
2017 | | - | |
| 2025 | + | |
2018 | 2026 | | |
2019 | 2027 | | |
2020 | 2028 | | |
| |||
2329 | 2337 | | |
2330 | 2338 | | |
2331 | 2339 | | |
| 2340 | + | |
| 2341 | + | |
| 2342 | + | |
| 2343 | + | |
| 2344 | + | |
| 2345 | + | |
| 2346 | + | |
| 2347 | + | |
| 2348 | + | |
| 2349 | + | |
| 2350 | + | |
| 2351 | + | |
| 2352 | + | |
| 2353 | + | |
| 2354 | + | |
| 2355 | + | |
| 2356 | + | |
| 2357 | + | |
| 2358 | + | |
| 2359 | + | |
| 2360 | + | |
| 2361 | + | |
| 2362 | + | |
| 2363 | + | |
2332 | 2364 | | |
2333 | 2365 | | |
2334 | 2366 | | |
| |||
2346 | 2378 | | |
2347 | 2379 | | |
2348 | 2380 | | |
2349 | | - | |
2350 | | - | |
| 2381 | + | |
| 2382 | + | |
2351 | 2383 | | |
2352 | 2384 | | |
2353 | 2385 | | |
| |||
0 commit comments