Skip to content

slow compilation of large struct with Box-members and ? in field init #93257

Open
@M1cha

Description

@M1cha

I'm generating some large struct and reduced it to a very specific sample.
Here's the code:
https://github.com/M1cha/rust-bugs/tree/slowcomp-large-struct

So basically I have a single large struct that looks like this

struct S {
    field0: Box<()>,
    ...
}

and an impl like this:

impl S {
    pub fn load() -> std::io::Result<Self> {
        Ok(Self{
            field0: super::load_data()?,
            ...
        })
    }
}

With 400 fields, this compiles for 54s on my machine.
There's a lot of things that will make that code compile fast(<2s):

  • use field types without a heap(usize, ()), Vec takes a long time as well
  • remove the std::io::Result and return the Box directly
  • make load private
  • use unwrap instead of ?

Meta

rustc --version --verbose:

rustc 1.58.1 (db9d1b20b 2022-01-20)
binary: rustc
commit-hash: db9d1b20bba1968c1ec1fc49616d4742c1725b4b
commit-date: 2022-01-20
host: x86_64-unknown-linux-gnu
release: 1.58.1
LLVM version: 13.0.0

This also happens on this nightly:

rustc 1.60.0-nightly (bfe156467 2022-01-22)
binary: rustc
commit-hash: bfe15646761a75f0259e204cab071565eed2b1e5
commit-date: 2022-01-22
host: x86_64-unknown-linux-gnu
release: 1.60.0-nightly
LLVM version: 13.0.0

So I've run

RUSTFLAGS="-Z self-profile" cargo +nightly build

and this is the output of summarize summarize:

self-profile

+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| Item                                             | Self time | % of total time | Time     | Item count | Incremental result hashing time |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| LLVM_passes                                      | 49.62s    | 32.845          | 49.62s   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| finish_ongoing_codegen                           | 49.57s    | 32.806          | 49.57s   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| LLVM_module_codegen_emit_obj                     | 49.55s    | 32.796          | 49.55s   | 16         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| mir_drops_elaborated_and_const_checked           | 630.05ms  | 0.417           | 630.58ms | 2          | 7.12µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| mir_borrowck                                     | 380.24ms  | 0.252           | 596.63ms | 2          | 8.59µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| codegen_module                                   | 353.19ms  | 0.234           | 380.54ms | 16         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| optimized_mir                                    | 240.48ms  | 0.159           | 873.10ms | 39         | 19.69ms                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| mir_built                                        | 125.42ms  | 0.083           | 130.11ms | 2          | 24.41ms                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| LLVM_module_codegen                              | 103.32ms  | 0.068           | 49.65s   | 16         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| typeck                                           | 83.82ms   | 0.055           | 99.46ms  | 2          | 1.18ms                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| monomorphization_collector_graph_walk            | 54.33ms   | 0.036           | 952.54ms | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| mir_const                                        | 41.55ms   | 0.028           | 175.17ms | 2          | 6.15µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| mir_promoted                                     | 40.68ms   | 0.027           | 215.88ms | 2          | 6.28µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| incr_comp_intern_dep_graph_node                  | 32.65ms   | 0.022           | 49.13ms  | 10809      | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| encode_query_results_for                         | 22.82ms   | 0.015           | 22.82ms  | 25         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| LLVM_module_optimize                             | 21.00ms   | 0.014           | 21.00ms  | 16         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| incr_comp_encode_dep_graph                       | 16.60ms   | 0.011           | 16.60ms  | 10871      | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| type_of                                          | 14.57ms   | 0.010           | 32.77ms  | 1791       | 6.93ms                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| link_rlib                                        | 12.93ms   | 0.009           | 12.93ms  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| expand_crate                                     | 9.06ms    | 0.006           | 10.59ms  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| cgu_partitioning_internalize_symbols             | 8.71ms    | 0.006           | 8.71ms   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| const_caller_location                            | 7.07ms    | 0.005           | 9.21ms   | 401        | 1.35ms                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| hir_lowering                                     | 6.90ms    | 0.005           | 6.90ms   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| free_global_ctxt                                 | 6.66ms    | 0.004           | 6.66ms   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| codegen_crate                                    | 6.23ms    | 0.004           | 388.72ms | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| predicates_defined_on                            | 5.01ms    | 0.003           | 34.94ms  | 519        | 1.46ms                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_type_of                    | 4.85ms    | 0.003           | 4.85ms   | 1387       | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| impl_trait_ref                                   | 4.50ms    | 0.003           | 8.57ms   | 567        | 2.08ms                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| predicates_of                                    | 4.02ms    | 0.003           | 42.14ms  | 519        | 1.46ms                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| explicit_predicates_of                           | 3.93ms    | 0.003           | 10.72ms  | 519        | 1.53ms                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| impl_parent                                      | 3.86ms    | 0.003           | 7.10ms   | 549        | 1.55ms                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| def_span                                         | 3.46ms    | 0.002           | 6.00ms   | 492        | 1.73ms                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| crate_lints                                      | 3.41ms    | 0.002           | 25.67ms  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| opt_def_kind                                     | 3.38ms    | 0.002           | 6.04ms   | 554        | 1.55ms                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| generics_of                                      | 3.34ms    | 0.002           | 5.90ms   | 508        | 1.51ms                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| inferred_outlives_of                             | 3.16ms    | 0.002           | 17.01ms  | 519        | 1.46ms                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| unsafety_check_result                            | 3.15ms    | 0.002           | 133.42ms | 2          | 7.61µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| visibility                                       | 2.76ms    | 0.002           | 4.89ms   | 424        | 1.35ms                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| lookup_deprecation_entry                         | 2.58ms    | 0.002           | 4.98ms   | 413        | 1.24ms                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| check_mod_privacy                                | 2.52ms    | 0.002           | 2.66ms   | 2          | 6.15µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| lint_mod                                         | 2.51ms    | 0.002           | 2.55ms   | 2          | 6.70µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| thir_body                                        | 2.39ms    | 0.002           | 2.40ms   | 2          | 5.73µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| def_ident_span                                   | 2.36ms    | 0.002           | 4.11ms   | 404        | 1.23ms                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| expn_that_defined                                | 2.32ms    | 0.002           | 4.20ms   | 412        | 1.16ms                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| specialization_graph_of                          | 2.25ms    | 0.001           | 17.93ms  | 5          | 135.56µs                        |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| layout_of                                        | 2.21ms    | 0.001           | 15.18ms  | 144        | 495.72µs                        |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| implementations_of_trait                         | 1.89ms    | 0.001           | 2.82ms   | 152        | 1.24ms                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| check_match                                      | 1.89ms    | 0.001           | 1.94ms   | 2          | 6.22µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| incr_comp_finalize_session_directory             | 1.72ms    | 0.001           | 1.72ms   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| inferred_outlives_crate                          | 1.63ms    | 0.001           | 11.47ms  | 1          | 3.84µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_impl_trait_ref             | 1.57ms    | 0.001           | 1.57ms   | 566        | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| collect_mod_item_types                           | 1.57ms    | 0.001           | 46.12ms  | 2          | 6.22µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| lint_levels                                      | 1.51ms    | 0.001           | 1.52ms   | 1          | 252.33µs                        |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| region_scope_tree                                | 1.45ms    | 0.001           | 1.46ms   | 4          | 645.18µs                        |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_register_crate                          | 1.44ms    | 0.001           | 2.07ms   | 19         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| generate_crate_metadata                          | 1.43ms    | 0.001           | 973.02ms | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| evaluate_obligation                              | 1.36ms    | 0.001           | 6.16ms   | 48         | 142.47µs                        |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| param_env                                        | 1.35ms    | 0.001           | 8.65ms   | 82         | 259.39µs                        |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| check_mod_attrs                                  | 1.26ms    | 0.001           | 2.36ms   | 2          | 6.99µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| check_mod_liveness                               | 1.23ms    | 0.001           | 1.52ms   | 2          | 5.66µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| fn_abi_of_instance                               | 1.11ms    | 0.001           | 13.17ms  | 54         | 281.87µs                        |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| late_resolve_crate                               | 1.04ms    | 0.001           | 1.04ms   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| adt_def                                          | 1.03ms    | 0.001           | 6.39ms   | 20         | 125.02µs                        |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| instance_def_size_estimate                       | 1.02ms    | 0.001           | 1.19ms   | 40         | 131.87µs                        |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| trait_impls_of                                   | 944.04µs  | 0.001           | 3.80ms   | 8          | 207.56µs                        |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| incr_comp_serialize_result_cache                 | 939.84µs  | 0.001           | 23.81ms  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_impl_parent                | 932.16µs  | 0.001           | 932.16µs | 549        | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| symbol_name                                      | 863.92µs  | 0.001           | 1.66ms   | 51         | 148.48µs                        |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| conservative_is_privately_uninhabited            | 846.88µs  | 0.001           | 1.64ms   | 133        | 371.13µs                        |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| item_attrs                                       | 844.43µs  | 0.001           | 1.96ms   | 73         | 485.32µs                        |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| resolve_instance                                 | 836.83µs  | 0.001           | 19.04ms  | 60         | 175.17µs                        |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| fn_sig                                           | 802.68µs  | 0.001           | 1.68ms   | 54         | 229.08µs                        |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_item_attrs                 | 774.33µs  | 0.001           | 774.33µs | 73         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| codegen_fn_attrs                                 | 764.69µs  | 0.001           | 5.43ms   | 61         | 181.03µs                        |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| cgu_partitioning_place_inline_items              | 673.47µs  | 0.000           | 673.47µs | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| exported_symbols                                 | 646.59µs  | 0.000           | 966.94ms | 20         | 521.01µs                        |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| analysis                                         | 641.77µs  | 0.000           | 792.59ms | 1          | 3.35µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| associated_item                                  | 638.06µs  | 0.000           | 1.23ms   | 85         | 264.14µs                        |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| privacy_access_levels                            | 586.80µs  | 0.000           | 604.12µs | 1          | 42.39µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| self_profile_alloc_query_strings                 | 563.89µs  | 0.000           | 563.89µs | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| should_inherit_track_caller                      | 560.61µs  | 0.000           | 2.25ms   | 61         | 164.14µs                        |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_optimized_mir              | 455.29µs  | 0.000           | 455.29µs | 37         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_explicit_predicates_of     | 452.84µs  | 0.000           | 452.84µs | 111        | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| check_item_well_formed                           | 414.22µs  | 0.000           | 1.94ms   | 7          | 18.86µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| compute_debuginfo_type_name                      | 413.60µs  | 0.000           | 413.60µs | 182        | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| trait_of_item                                    | 402.00µs  | 0.000           | 806.31µs | 55         | 153.58µs                        |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| death_checking                                   | 401.65µs  | 0.000           | 2.16ms   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| codegen_fulfill_obligation                       | 373.57µs  | 0.000           | 823.62µs | 8          | 27.52µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| eval_to_allocation_raw                           | 366.39µs  | 0.000           | 1.51ms   | 18         | 56.85µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| eval_to_const_value_raw                          | 321.06µs  | 0.000           | 3.76ms   | 36         | 101.62µs                        |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| is_foreign_item                                  | 319.73µs  | 0.000           | 591.20µs | 44         | 119.14µs                        |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| adt_dtorck_constraint                            | 317.21µs  | 0.000           | 2.38ms   | 12         | 39.18µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_implementations_of_trait   | 302.06µs  | 0.000           | 302.06µs | 152        | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| early_lint_checks                                | 295.36µs  | 0.000           | 295.36µs | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| write_crate_metadata                             | 294.38µs  | 0.000           | 294.38µs | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| resolve_lifetimes                                | 282.36µs  | 0.000           | 326.64µs | 2          | 14.39µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| codegen_module_optimize                          | 282.09µs  | 0.000           | 49.68s   | 16         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| copy_all_cgu_workproducts_to_incr_comp_cache_dir | 277.06µs  | 0.000           | 277.06µs | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_opt_def_kind               | 267.98µs  | 0.000           | 267.98µs | 145        | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| is_mir_available                                 | 266.23µs  | 0.000           | 504.04µs | 38         | 103.92µs                        |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| check_mod_unstable_api_usage                     | 265.26µs  | 0.000           | 812.31µs | 2          | 6.08µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| normalize_projection_ty                          | 263.23µs  | 0.000           | 433.29µs | 6          | 23.96µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| incr_comp_prepare_session_directory              | 262.46µs  | 0.000           | 262.46µs | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_generics_of                | 260.23µs  | 0.000           | 260.23µs | 100        | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| parse_crate                                      | 254.99µs  | 0.000           | 254.99µs | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| collect_and_partition_mono_items                 | 245.56µs  | 0.000           | 965.94ms | 1          | 27.17µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| is_reachable_non_generic                         | 243.81µs  | 0.000           | 758.82µs | 41         | 111.25µs                        |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| associated_items                                 | 238.57µs  | 0.000           | 1.26ms   | 16         | 58.04µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| configure_and_expand                             | 237.25µs  | 0.000           | 12.47ms  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| adt_sized_constraint                             | 236.27µs  | 0.000           | 1.53ms   | 20         | 62.57µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| prepare_outputs                                  | 235.15µs  | 0.000           | 235.15µs | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_adt_def                    | 229.56µs  | 0.000           | 694.42µs | 19         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_inferred_outlives_of       | 227.82µs  | 0.000           | 227.82µs | 111        | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| finalize_imports                                 | 227.47µs  | 0.000           | 227.47µs | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| crate_hash                                       | 225.79µs  | 0.000           | 349.83µs | 20         | 64.18µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| check_private_in_public                          | 218.39µs  | 0.000           | 344.80µs | 1          | 2.86µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| cgu_partitioning_place_roots                     | 215.18µs  | 0.000           | 802.18µs | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| defined_lang_items                               | 212.38µs  | 0.000           | 660.06µs | 19         | 117.54µs                        |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| join_worker_thread                               | 207.64µs  | 0.000           | 207.64µs | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| is_copy_raw                                      | 205.68µs  | 0.000           | 2.45ms   | 17         | 48.40µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| diagnostic_items                                 | 201.21µs  | 0.000           | 355.70µs | 20         | 105.74µs                        |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_associated_item            | 198.42µs  | 0.000           | 198.42µs | 84         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_fn_sig                     | 192.06µs  | 0.000           | 192.06µs | 52         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| hir_module_items                                 | 186.68µs  | 0.000           | 392.85µs | 2          | 8.66µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| drop_ast                                         | 185.57µs  | 0.000           | 185.57µs | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_def_span                   | 174.60µs  | 0.000           | 174.60µs | 83         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| type_uninhabited_from                            | 168.94µs  | 0.000           | 626.54µs | 15         | 42.67µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| incr_comp_prepare_load_dep_graph                 | 168.87µs  | 0.000           | 168.87µs | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| native_libraries                                 | 164.06µs  | 0.000           | 299.97µs | 20         | 74.31µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| check_mod_intrinsics                             | 157.63µs  | 0.000           | 167.06µs | 2          | 5.73µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| crate_name                                       | 154.49µs  | 0.000           | 265.32µs | 20         | 63.00µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| upstream_monomorphizations_for                   | 152.88µs  | 0.000           | 875.31µs | 25         | 70.26µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| link_binary                                      | 152.81µs  | 0.000           | 13.25ms  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| is_compiler_builtins                             | 150.58µs  | 0.000           | 259.81µs | 20         | 64.25µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| used_crate_source                                | 148.34µs  | 0.000           | 257.78µs | 19         | 65.44µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| associated_item_def_ids                          | 148.13µs  | 0.000           | 255.06µs | 18         | 67.60µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| needs_drop_raw                                   | 146.24µs  | 0.000           | 2.97ms   | 12         | 33.24µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| mir_for_ctfe                                     | 143.52µs  | 0.000           | 287.88µs | 17         | 68.79µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_trait_of_item              | 141.01µs  | 0.000           | 141.01µs | 53         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| reachable_non_generics                           | 139.47µs  | 0.000           | 520.73µs | 3          | 91.35µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| missing_lang_items                               | 139.05µs  | 0.000           | 254.01µs | 19         | 61.25µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| extra_filename                                   | 136.47µs  | 0.000           | 244.65µs | 19         | 52.52µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| crate_host_hash                                  | 136.05µs  | 0.000           | 240.39µs | 19         | 54.34µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| dep_kind                                         | 134.93µs  | 0.000           | 240.39µs | 19         | 54.41µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| is_no_builtins                                   | 131.44µs  | 0.000           | 236.62µs | 19         | 52.31µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| static_mutability                                | 130.81µs  | 0.000           | 236.13µs | 18         | 51.48µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| stability_index                                  | 130.67µs  | 0.000           | 135.91µs | 1          | 4.82µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| is_profiler_runtime                              | 127.67µs  | 0.000           | 235.29µs | 19         | 49.31µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| is_ctfe_mir_available                            | 124.88µs  | 0.000           | 227.26µs | 17         | 47.21µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| cgu_partitioning                                 | 124.32µs  | 0.000           | 11.52ms  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| assert_symbols_are_distinct                      | 121.11µs  | 0.000           | 1.56ms   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| link_binary_remove_temps                         | 120.75µs  | 0.000           | 120.75µs | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| super_predicates_of                              | 118.10µs  | 0.000           | 223.98µs | 14         | 50.07µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| is_codegened_item                                | 113.42µs  | 0.000           | 176.42µs | 14         | 39.60µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| incr_comp_persist_result_cache                   | 110.70µs  | 0.000           | 23.92ms  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| codegen_unit                                     | 110.28µs  | 0.000           | 182.07µs | 16         | 60.97µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| check_mod_const_bodies                           | 110.07µs  | 0.000           | 179.77µs | 2          | 6.77µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| reachable_set                                    | 108.88µs  | 0.000           | 113.21µs | 1          | 32.27µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| type_op_prove_predicate                          | 106.23µs  | 0.000           | 145.69µs | 9          | 27.38µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| check_mod_loops                                  | 105.81µs  | 0.000           | 116.28µs | 2          | 6.71µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| impl_polarity                                    | 100.78µs  | 0.000           | 177.61µs | 13         | 38.62µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| try_normalize_generic_arg_after_erasing_regions  | 100.71µs  | 0.000           | 812.80µs | 9          | 26.75µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| is_sized_raw                                     | 100.22µs  | 0.000           | 685.00µs | 6          | 18.51µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| dropck_outlives                                  | 98.68µs   | 0.000           | 1.28ms   | 6          | 20.95µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| all_diagnostic_items                             | 98.20µs   | 0.000           | 339.08µs | 1          | 36.32µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_load_macro                              | 94.36µs   | 0.000           | 94.36µs  | 4          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| get_lang_items                                   | 93.45µs   | 0.000           | 819.44µs | 1          | 12.36µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| setup_global_ctxt                                | 92.54µs   | 0.000           | 92.54µs  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| serialize_work_products                          | 91.35µs   | 0.000           | 91.35µs  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| erase_regions_ty                                 | 87.37µs   | 0.000           | 140.94µs | 27         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| check_mod_item_types                             | 85.77µs   | 0.000           | 4.04ms   | 2          | 5.73µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| adt_destructor                                   | 85.49µs   | 0.000           | 4.16ms   | 11         | 32.34µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_defined_lang_items         | 85.35µs   | 0.000           | 357.93µs | 19         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| link                                             | 83.60µs   | 0.000           | 49.58s   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| lookup_stability                                 | 81.15µs   | 0.000           | 166.99µs | 10         | 31.92µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| wf_checking                                      | 78.43µs   | 0.000           | 3.54ms   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_is_mir_available           | 76.76µs   | 0.000           | 76.76µs  | 38         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| pre_AST_expansion_lint_checks                    | 75.78µs   | 0.000           | 75.78µs  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| hir_owner                                        | 72.63µs   | 0.000           | 172.92µs | 9          | 28.36µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| variances_of                                     | 71.66µs   | 0.000           | 211.20µs | 9          | 27.24µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_diagnostic_items           | 70.68µs   | 0.000           | 70.68µs  | 19         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_exported_symbols           | 70.12µs   | 0.000           | 70.12µs  | 19         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_mir_for_ctfe               | 69.77µs   | 0.000           | 69.77µs  | 17         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_is_foreign_item            | 66.77µs   | 0.000           | 66.77µs  | 43         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| mir_shims                                        | 64.46µs   | 0.000           | 261.41µs | 1          | 7.96µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| trait_def                                        | 63.21µs   | 0.000           | 116.91µs | 7          | 20.88µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| type_check_crate                                 | 63.07µs   | 0.000           | 153.44ms | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| adt_drop_tys                                     | 61.39µs   | 0.000           | 1.21ms   | 5          | 13.76µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| hir_attrs                                        | 59.02µs   | 0.000           | 102.53µs | 9          | 29.54µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| impl_item_implementor_ids                        | 58.53µs   | 0.000           | 456.41µs | 5          | 18.02µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| object_lifetime_defaults_map                     | 56.99µs   | 0.000           | 93.03µs  | 8          | 27.73µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_native_libraries           | 54.40µs   | 0.000           | 54.40µs  | 19         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| encode_query_results                             | 54.20µs   | 0.000           | 22.87ms  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| <unknown>                                        | 53.29µs   | 0.000           | 0.00ns   | 0          | 53.29µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| link_binary_check_files_are_writeable            | 53.29µs   | 0.000           | 53.29µs  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| crate_injection                                  | 53.01µs   | 0.000           | 53.01µs  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| type_op_ascribe_user_type                        | 52.80µs   | 0.000           | 57.55µs  | 1          | 4.26µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| AST_validation                                   | 52.52µs   | 0.000           | 52.52µs  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| upstream_monomorphizations                       | 50.70µs   | 0.000           | 616.90µs | 1          | 3.84µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| hir_owner_parent                                 | 46.51µs   | 0.000           | 76.96µs  | 7          | 21.09µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_super_predicates_of        | 46.24µs   | 0.000           | 46.24µs  | 14         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| item_bounds                                      | 46.03µs   | 0.000           | 234.24µs | 1          | 6.70µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| implied_outlives_bounds                          | 45.54µs   | 0.000           | 58.25µs  | 3          | 9.57µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| incr_comp_load_query_result_cache                | 44.21µs   | 0.000           | 44.21µs  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_reachable_non_generics     | 44.21µs   | 0.000           | 233.69µs | 2          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| crates                                           | 43.86µs   | 0.000           | 49.17µs  | 1          | 37.78µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| impl_defaultness                                 | 43.09µs   | 0.000           | 73.61µs  | 5          | 14.67µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_visibility                 | 41.90µs   | 0.000           | 41.90µs  | 15         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| incr_comp_load_dep_graph                         | 39.95µs   | 0.000           | 39.95µs  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| incr_comp_persist_dep_graph                      | 39.60µs   | 0.000           | 52.80µs  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| misc_checking_1                                  | 39.53µs   | 0.000           | 3.73ms   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_adt_destructor             | 38.97µs   | 0.000           | 163.50µs | 10         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_lookup_stability           | 38.69µs   | 0.000           | 38.69µs  | 9          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| supported_target_features                        | 38.41µs   | 0.000           | 43.65µs  | 1          | 18.86µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_lookup_deprecation_entry   | 38.27µs   | 0.000           | 38.27µs  | 7          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| resolve_access_levels                            | 38.06µs   | 0.000           | 38.06µs  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| param_env_reveal_all_normalized                  | 35.97µs   | 0.000           | 144.50µs | 3          | 10.55µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| type_op_normalize_predicate                      | 35.83µs   | 0.000           | 112.16µs | 1          | 3.42µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| is_private_dep                                   | 34.78µs   | 0.000           | 58.53µs  | 4          | 12.36µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| complete_gated_feature_checking                  | 34.36µs   | 0.000           | 34.36µs  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| blocked_on_dep_graph_loading                     | 33.94µs   | 0.000           | 33.94µs  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| entry_fn                                         | 33.73µs   | 0.000           | 38.97µs  | 1          | 3.84µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_missing_lang_items         | 33.46µs   | 0.000           | 33.46µs  | 19         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| proc_macro_decls_static                          | 32.96µs   | 0.000           | 117.19µs | 1          | 3.42µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| try_normalize_mir_const_after_erasing_regions    | 32.96µs   | 0.000           | 414.64µs | 2          | 7.06µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_associated_item_def_ids    | 32.34µs   | 0.000           | 32.34µs  | 17         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_variances_of               | 31.99µs   | 0.000           | 31.99µs  | 6          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_is_ctfe_mir_available      | 31.78µs   | 0.000           | 31.78µs  | 17         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| incr_comp_garbage_collect_session_directories    | 31.01µs   | 0.000           | 31.01µs  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| resolve_postprocess                              | 30.94µs   | 0.000           | 30.94µs  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| resolve_check_unused                             | 29.82µs   | 0.000           | 29.82µs  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_extra_filename             | 29.75µs   | 0.000           | 29.75µs  | 19         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_used_crate_source          | 29.61µs   | 0.000           | 29.61µs  | 19         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_static_mutability          | 29.54µs   | 0.000           | 29.54µs  | 18         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| check_impl_item_well_formed                      | 29.33µs   | 0.000           | 1.52ms   | 1          | 2.86µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_crate_hash                 | 29.13µs   | 0.000           | 29.13µs  | 19         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| late_bound_vars_map                              | 28.08µs   | 0.000           | 363.66µs | 2          | 6.15µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_is_profiler_runtime        | 27.24µs   | 0.000           | 27.24µs  | 19         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_is_no_builtins             | 26.96µs   | 0.000           | 26.96µs  | 19         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_crate_name                 | 26.75µs   | 0.000           | 26.75µs  | 19         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| coherence_checking                               | 26.68µs   | 0.000           | 100.71µs | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| mir_keys                                         | 26.19µs   | 0.000           | 30.03µs  | 1          | 4.75µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_crate_host_hash            | 26.12µs   | 0.000           | 26.12µs  | 19         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| upvars_mentioned                                 | 25.63µs   | 0.000           | 35.55µs  | 2          | 6.22µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_is_compiler_builtins       | 25.49µs   | 0.000           | 25.49µs  | 19         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| is_const_fn_raw                                  | 25.35µs   | 0.000           | 59.36µs  | 2          | 6.70µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| check_mod_naked_functions                        | 25.21µs   | 0.000           | 36.18µs  | 2          | 7.06µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| type_op_normalize_fn_sig                         | 25.07µs   | 0.000           | 72.36µs  | 1          | 3.70µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_dep_kind                   | 24.93µs   | 0.000           | 24.93µs  | 19         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| is_late_bound_map                                | 24.45µs   | 0.000           | 35.34µs  | 2          | 6.71µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_trait_def                  | 23.82µs   | 0.000           | 23.82µs  | 7          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| misc_checking_3                                  | 23.61µs   | 0.000           | 34.07ms  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| features_query                                   | 22.28µs   | 0.000           | 27.10µs  | 1          | 18.51µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_impl_polarity              | 22.00µs   | 0.000           | 22.00µs  | 12         | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| hir_owner_nodes                                  | 21.79µs   | 0.000           | 35.90µs  | 3          | 10.06µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| link_crate                                       | 21.23µs   | 0.000           | 13.27ms  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| monomorphization_collector_root_collections      | 21.23µs   | 0.000           | 58.11µs  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| resolve_crate                                    | 20.04µs   | 0.000           | 1.40ms   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| parent_module_from_def_id                        | 19.69µs   | 0.000           | 32.62µs  | 3          | 9.22µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| mir_const_qualif                                 | 18.79µs   | 0.000           | 27.38µs  | 2          | 6.36µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| macro_expand_crate                               | 18.58µs   | 0.000           | 10.61ms  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| hir_crate                                        | 18.23µs   | 0.000           | 56.36µs  | 1          | 13.90µs                         |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| typeck_item_bodies                               | 18.23µs   | 0.000           | 99.48ms  | 1          | 3.42µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| lib_features                                     | 17.74µs   | 0.000           | 22.49µs  | 1          | 3.84µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| serialize_dep_graph                              | 17.60µs   | 0.000           | 24.00ms  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| check_mod_impl_wf                                | 17.25µs   | 0.000           | 26.33µs  | 2          | 5.17µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| postorder_cnums                                  | 17.11µs   | 0.000           | 21.93µs  | 1          | 5.80µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| inherent_impls                                   | 16.83µs   | 0.000           | 26.75µs  | 2          | 8.24µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| coherent_trait                                   | 16.62µs   | 0.000           | 3.86ms   | 1          | 2.37µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| partition_and_assert_distinct_symbols            | 16.62µs   | 0.000           | 13.09ms  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| module_reexports                                 | 15.79µs   | 0.000           | 23.82µs  | 2          | 9.57µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| explicit_item_bounds                             | 15.37µs   | 0.000           | 31.50µs  | 1          | 7.26µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| thir_abstract_const                              | 13.97µs   | 0.000           | 22.56µs  | 2          | 5.80µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| crate_variances                                  | 13.83µs   | 0.000           | 17.74µs  | 1          | 3.84µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| type_collecting                                  | 13.69µs   | 0.000           | 46.13ms  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| MIR_borrow_checking                              | 13.69µs   | 0.000           | 596.64ms | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| opt_const_param_of                               | 13.34µs   | 0.000           | 21.86µs  | 2          | 5.80µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| liveness_and_intrinsic_checking                  | 13.27µs   | 0.000           | 1.70ms   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| drop_compiler                                    | 12.78µs   | 0.000           | 12.78µs  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| used_trait_imports                               | 12.71µs   | 0.000           | 20.81µs  | 2          | 6.14µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| thir_check_unsafety                              | 12.43µs   | 0.000           | 20.95µs  | 2          | 5.24µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| subst_and_check_impossible_predicates            | 11.94µs   | 0.000           | 15.78µs  | 1          | 3.28µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| promoted_mir                                     | 11.87µs   | 0.000           | 22.77µs  | 1          | 6.22µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| MIR_effect_checking                              | 11.80µs   | 0.000           | 11.80µs  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| looking_for_entry_point                          | 11.52µs   | 0.000           | 50.50µs  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_explicit_item_bounds       | 11.45µs   | 0.000           | 11.45µs  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| extern_mod_stmt_cnum                             | 11.45µs   | 0.000           | 28.63µs  | 1          | 3.35µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| crate_inherent_impls                             | 11.39µs   | 0.000           | 15.72µs  | 1          | 3.28µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| orphan_check_crate                               | 11.31µs   | 0.000           | 27.80µs  | 1          | 2.86µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| symbol_mangling_version                          | 11.18µs   | 0.000           | 16.83µs  | 1          | 3.35µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| crate_inherent_impls_overlap_check               | 10.83µs   | 0.000           | 25.77µs  | 1          | 2.79µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| match_checking                                   | 10.34µs   | 0.000           | 1.95ms   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| fn_abi_of_fn_ptr                                 | 10.34µs   | 0.000           | 15.16µs  | 1          | 4.26µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| cgu_partitioning_merge_cgus                      | 9.99µs    | 0.000           | 9.99µs   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| finalize_macro_resolutions                       | 9.57µs    | 0.000           | 9.57µs   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_def_ident_span             | 9.50µs    | 0.000           | 9.50µs   | 4          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| limits                                           | 9.50µs    | 0.000           | 14.25µs  | 1          | 3.77µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| monomorphization_collector                       | 9.15µs    | 0.000           | 952.60ms | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_expn_that_defined          | 9.15µs    | 0.000           | 9.15µs   | 3          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_impl_defaultness           | 9.15µs    | 0.000           | 9.15µs   | 5          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| foreign_modules                                  | 8.94µs    | 0.000           | 13.13µs  | 1          | 4.26µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| lint_checking                                    | 8.73µs    | 0.000           | 28.24ms  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| module_lints                                     | 8.59µs    | 0.000           | 2.56ms   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| upstream_drop_glue_for                           | 8.59µs    | 0.000           | 22.49µs  | 1          | 2.79µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| normalize_opaque_types                           | 8.52µs    | 0.000           | 17.04µs  | 1          | 4.26µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| impl_constness                                   | 8.45µs    | 0.000           | 14.67µs  | 1          | 2.79µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| output_filenames                                 | 8.24µs    | 0.000           | 12.43µs  | 1          | 4.40µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| backend_optimization_level                       | 8.17µs    | 0.000           | 12.36µs  | 1          | 3.84µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| dependency_formats                               | 8.10µs    | 0.000           | 12.43µs  | 1          | 2.79µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| all_local_trait_impls                            | 8.03µs    | 0.000           | 12.22µs  | 1          | 4.19µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| traits_in_crate                                  | 8.03µs    | 0.000           | 12.29µs  | 1          | 3.28µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| allocator_kind                                   | 7.61µs    | 0.000           | 11.38µs  | 1          | 3.28µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| has_global_allocator                             | 7.54µs    | 0.000           | 11.38µs  | 1          | 3.21µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| is_panic_runtime                                 | 7.19µs    | 0.000           | 11.04µs  | 1          | 3.42µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| privacy_checking_modules                         | 7.12µs    | 0.000           | 2.67ms   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| unused_lib_feature_checking                      | 7.12µs    | 0.000           | 29.61µs  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| looking_for_derive_registrar                     | 7.12µs    | 0.000           | 124.32µs | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| plugin_loading                                   | 7.05µs    | 0.000           | 7.05µs   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| impl_wf_inference                                | 7.05µs    | 0.000           | 33.38µs  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| resolutions                                      | 7.05µs    | 0.000           | 11.87µs  | 1          | 3.28µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| find_cgu_reuse                                   | 6.78µs    | 0.000           | 6.78µs   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| item_bodies_checking                             | 6.77µs    | 0.000           | 99.49ms  | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| has_panic_handler                                | 6.71µs    | 0.000           | 10.48µs  | 1          | 2.93µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| attributes_injection                             | 6.71µs    | 0.000           | 6.71µs   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| item_types_checking                              | 6.70µs    | 0.000           | 4.05ms   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| in_scope_traits_map                              | 6.64µs    | 0.000           | 10.83µs  | 1          | 3.28µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_promoted_mir               | 6.57µs    | 0.000           | 6.57µs   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| maybe_unused_extern_crates                       | 6.22µs    | 0.000           | 10.90µs  | 1          | 2.44µs                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| misc_checking_2                                  | 6.15µs    | 0.000           | 3.66ms   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_is_private_dep             | 6.15µs    | 0.000           | 6.15µs   | 3          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| unsafety_checking                                | 4.75µs    | 0.000           | 4.75µs   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| drop_dep_graph                                   | 4.75µs    | 0.000           | 4.75µs   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| maybe_create_a_macro_crate                       | 3.35µs    | 0.000           | 3.35µs   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| check_unused_macros                              | 2.45µs    | 0.000           | 2.45µs   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| layout_testing                                   | 2.38µs    | 0.000           | 2.38µs   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| maybe_building_test_harness                      | 2.30µs    | 0.000           | 2.30µs   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| resolve_main                                     | 1.96µs    | 0.000           | 1.96µs   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_impl_constness             | 1.89µs    | 0.000           | 1.89µs   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| plugin_registration                              | 1.89µs    | 0.000           | 1.89µs   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| incr_comp_query_cache_promotion                  | 1.89µs    | 0.000           | 1.89µs   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_inherent_impls             | 1.82µs    | 0.000           | 1.82µs   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| assert_dep_graph                                 | 1.47µs    | 0.000           | 1.47µs   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| resolve_report_errors                            | 1.47µs    | 0.000           | 1.47µs   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| check_dirty_clean                                | 1.40µs    | 0.000           | 1.40µs   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| llvm_dump_timing_file                            | 1.40µs    | 0.000           | 1.40µs   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| metadata_decode_entry_symbol_mangling_version    | 1.40µs    | 0.000           | 1.40µs   | 1          | 0.00ns                          |
+--------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
Total cpu time: 151.088619442s
+----------------------------+----------------+
| Item                       | Artifact Size  |
+----------------------------+----------------+
| codegen_unit_size_estimate | 165415 bytes   |
+----------------------------+----------------+
| crate_metadata             | 76333 bytes    |
+----------------------------+----------------+
| dep_graph                  | 434986 bytes   |
+----------------------------+----------------+
| linked_artifact            | 11081054 bytes |
+----------------------------+----------------+
| object_file                | 10998456 bytes |
+----------------------------+----------------+
| query_cache                | 4145498 bytes  |
+----------------------------+----------------+
| work_product_index         | 919 bytes      |
+----------------------------+----------------+

So either this is a LLVM code generation bug or rustc just generates a lot of code. target/debug/libslowcomp.rlib is 11MiB in size for 400 fields.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.A-boxArea: Our favorite opsem complicationC-bugCategory: This is a bug.I-compiletimeIssue: Problems and improvements with respect to compile times.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions