<commit_before># Parallel Compilation

As of <!-- date: 2021-09 --> September 2021, The only stage of the compiler 
that is already parallel is codegen. The nightly compiler implements query evaluation,
but there is a lot of correctness work that needs to be done. The lack of parallelism at other stages 
also represents an opportunity for improving compiler performance. One can try out the current 
parallel compiler work by enabling it in the `config.toml`.

These next few sections describe where and how parallelism is currently used, 
and the current status of making parallel compilation the default in `rustc`.

The underlying thread-safe data-structures used in the parallel compiler 
can be found in `rustc_data_structures/sync.rs`. Some of these data structures
use the `parking_lot` API.

## Code Gen

During [monomorphization][monomorphization] the compiler splits up all the code to 
be generated into smaller chunks called _codegen units_. These are then generated by <commit_msg>Docs: delete redundant use of correctness<commit_after># Parallel Compilation

As of <!-- date: 2021-09 --> September 2021, The only stage of the compiler 
that is already parallel is codegen. The nightly compiler implements query evaluation,
but there is still a lot of work to be done. The lack of parallelism at other stages 
also represents an opportunity for improving compiler performance. One can try out the current 
parallel compiler work by enabling it in the `config.toml`.

These next few sections describe where and how parallelism is currently used, 
and the current status of making parallel compilation the default in `rustc`.

The underlying thread-safe data-structures used in the parallel compiler 
can be found in `rustc_data_structures/sync.rs`. Some of these data structures
use the `parking_lot` API.

## Code Gen

During [monomorphization][monomorphization] the compiler splits up all the code to 
be generated into smaller chunks called _codegen units_. These are then generated by 
{'fraction_non_alphanumeric': 0.04343484772840739, 'fraction_numerical': 0.00998502246630055, 'mean_word_length': 4.693181818181818, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2843853', 'n_tokens_mistral': 499, 'n_tokens_neox': 470, 'n_words': 287}