rust/compiler/rustc_session
bors bd84c73ffe Auto merge of #99123 - mystor:crossbeam_bridge, r=eddyb
proc_macro: use crossbeam channels for the proc_macro cross-thread bridge

This is done by having the crossbeam dependency inserted into the `proc_macro` server code from the server side, to avoid adding a dependency to `proc_macro`.

In addition, this introduces a -Z command-line option which will switch rustc to run proc-macros using this cross-thread executor. With the changes to the bridge in #98186, #98187, #98188 and #98189, the performance of the executor should be much closer to same-thread execution.

In local testing, the crossbeam executor was substantially more performant than either of the two existing `CrossThread` strategies, so they have been removed to keep things simple.

r? `@eddyb`
2022-07-30 04:05:28 +00:00
..
src Auto merge of #99123 - mystor:crossbeam_bridge, r=eddyb 2022-07-30 04:05:28 +00:00
Cargo.toml Revert "Remove num_cpus dependency from bootstrap, build-manifest and rustc_session" 2022-06-09 03:10:15 -07:00