rust-lang / rust

Empowering everyone to build reliable and efficient software.
https://www.rust-lang.org
Other
95.08k stars 12.26k forks source link

Nested async closures result in exponential compilation time increase #83031

Open blazzy opened 3 years ago

blazzy commented 3 years ago

I've noticed exponential increases in compilation times as I nest async closures within each other.

I tried this code:

macro_rules! compose_middleware_inner {
  ( $route:ident, $first:ident, $second:ident, $($tail:ident), +) => {
    $first(|| async {
        compose_middleware_inner!($route, $second, $($tail),+)
    }).await
  };
  ( $route: ident, $first:ident, $second:ident ) => {
    $first(|| async move { $second($route).await }).await
  };
}

macro_rules! compose_middleware {
    ( $name:ident, $($tail:ident), +) => {
        pub async fn $name<N, Fut>(route: N)
        where
            N: FnOnce() -> Fut,
            Fut: std::future::Future<Output = ()>,
        {
            compose_middleware_inner!(route, $($tail),+)
        }
    }
}

async fn log<N, Fut>(next: N)
where
    N: FnOnce() -> Fut,
    Fut: std::future::Future<Output = ()>,
{
    println!("log start");
    next().await;
    println!("log end");
}

compose_middleware!(
    my_middleware, log, log, log, log, log, log, log, log, log, log, log, log, log
);

That compose_middleware! macro invocation generates a function that looks something like this:

pub async fn my_middleware<N, Fut>(route: N)
where
    N: FnOnce() -> Fut,
    Fut: Future<Output = ()>,
{
    log(|| async { log(|| async { log(|| async move { log(route).await }).await }).await }).await
}

I expected to see this happen: I expected this code to build within seconds

Instead, this happened: At around 3 levels it takes less than a second to build. At around 9 levels it takes around a minute to build. At around 14 levels it takes around 10 minutes to build.

Meta

I've experienced this issue on nightly, stable, and beta. And I've sampled random nightly versions going back as far as 1.39 and still witnessed the problem. There was a good bit of variability in build times, but it generally seemed to increase exponentially.

I threw this little repo up to test the issue: https://github.com/blazzy/slow-rust-async/blob/master/src/lib.rs

I thought it might be related to this issue https://github.com/rust-lang/rust/issues/72408 with nested closures. Or this issue https://github.com/rust-lang/rust/issues/75992 with levels of async, but those look to be resolved.

blazzy commented 3 years ago

cargo --release builds everything a lot faster(edit: <- this was wrong), but it still has the exponential time increase issue.

I also tried making a nested async version without the generic functions.

pub async fn my_middleware<N, Fut>(route: N)
where
    N: FnOnce() -> Fut,
    Fut: Future<Output = ()>,
{
    (| | async { (| | async { (| | async { (| | async { (| | async { (| | async { (| | async { (| | async { (| | async { (| | async { (| | async { (| | async move { route () . await }) () . await }) () . await }) () . await }) () . await }) () . await }) () . await }) () . await }) () . await }) () . await }) () . await }) () . await }) () . await
}

And I tried making a nested generic function version without the async:

pub fn my_middleware<N>(route: N)
where
    N: FnOnce() -> (),
{
    log(|| {
        log(|| {
            log(|| {
                log(|| {
                    ...
                    log(route);
                });
            });
        });
    })
}

Both of these versions compiled very quickly and don't exhibit the exponential problem.

tmandry commented 3 years ago

Release mode being faster suggests that the slowdown is happening after MIR optimization somewhere.

Possible duplicate of #75992 or #54540.

tmandry commented 3 years ago

I closed those other issues, so we can keep this issue open. (Those issues might still be a good source of test cases / benchmarks.)

blazzy commented 3 years ago

Sorry, the --release builds don't actually seem to be faster. I was getting less rigorous in keeping track of what I was measuring as I multi-tasked and waited for minutes long builds to complete.

I made a few cargo rustc -- -Zself-profile runs. It's consistently dominated by mir_borrowck and check_mod_privacy.

Folded here is an example summary: ``` +--------------------------------------------------+-----------+-----------------+----------+------------+ | Item | Self time | % of total time | Time | Item count | +--------------------------------------------------+-----------+-----------------+----------+------------+ | mir_borrowck | 76.89s | 33.794 | 288.22s | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_privacy | 60.46s | 26.574 | 60.46s | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | type_op_prove_predicate | 27.68s | 12.164 | 27.68s | 260 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | normalize_generic_arg_after_erasing_regions | 24.58s | 10.802 | 24.58s | 135 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | typeck | 13.79s | 6.062 | 13.84s | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | normalize_projection_ty | 5.46s | 2.402 | 5.46s | 17 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | evaluate_obligation | 5.35s | 2.351 | 5.36s | 330 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | privacy_access_levels | 5.04s | 2.216 | 5.04s | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_item_types | 4.56s | 2.006 | 133.80s | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | optimized_mir | 3.45s | 1.517 | 36.20s | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | expand_crate | 19.92ms | 0.009 | 42.49ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_register_crate | 18.63ms | 0.008 | 22.47ms | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_passes | 14.13ms | 0.006 | 14.13ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_module_codegen_emit_obj | 11.34ms | 0.005 | 11.34ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_impl_trait_ref | 10.97ms | 0.005 | 20.36ms | 124 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | mir_drops_elaborated_and_const_checked | 10.45ms | 0.005 | 16.46s | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | late_resolve_crate | 9.85ms | 0.004 | 9.85ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_adt_def | 9.08ms | 0.004 | 11.58ms | 114 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | generate_crate_metadata | 8.85ms | 0.004 | 28.06s | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | encode_query_results_for | 7.12ms | 0.003 | 7.12ms | 24 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | codegen_crate | 6.97ms | 0.003 | 15.00ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | implementations_of_trait | 6.08ms | 0.003 | 6.49ms | 135 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | codegen_module | 5.85ms | 0.003 | 5.85ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | mir_built | 4.52ms | 0.002 | 17.50s | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | crate_lints | 4.08ms | 0.002 | 4.19ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_load_macro | 3.94ms | 0.002 | 3.94ms | 3 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | region_scope_tree | 3.47ms | 0.002 | 3.47ms | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_impl_parent | 3.35ms | 0.001 | 3.35ms | 99 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_explicit_predicates_of | 3.07ms | 0.001 | 3.55ms | 37 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_type_of | 3.00ms | 0.001 | 3.45ms | 31 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | finalize_imports | 2.71ms | 0.001 | 2.71ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_item_attrs | 2.55ms | 0.001 | 2.55ms | 121 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | free_global_ctxt | 2.50ms | 0.001 | 2.50ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | incr_comp_serialize_result_cache | 2.42ms | 0.001 | 10.26ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | check_match | 2.22ms | 0.001 | 2.22ms | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | self_profile_alloc_query_strings | 2.19ms | 0.001 | 2.19ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | type_op_normalize_predicate | 2.15ms | 0.001 | 2.15ms | 174 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | lint_mod | 2.14ms | 0.001 | 2.14ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_liveness | 2.08ms | 0.001 | 2.63ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | link_rlib | 2.08ms | 0.001 | 2.08ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | type_check_crate | 1.96ms | 0.001 | 133.81s | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_module_optimize | 1.94ms | 0.001 | 2.43ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | crate_variances | 1.93ms | 0.001 | 1.93ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | predicates_of | 1.52ms | 0.001 | 7.29ms | 74 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_explicit_item_bounds | 1.45ms | 0.001 | 1.45ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | cgu_partitioning_place_roots | 1.36ms | 0.001 | 1.37ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | write_crate_metadata | 1.31ms | 0.001 | 1.31ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | type_op_normalize_fn_sig | 1.31ms | 0.001 | 5.47s | 63 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | layout_raw | 1.29ms | 0.001 | 16.31s | 51 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | reachable_non_generics | 1.26ms | 0.001 | 2.28ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | type_op_normalize_ty | 1.22ms | 0.001 | 1.22ms | 91 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | incr_comp_prepare_session_directory | 1.15ms | 0.001 | 1.15ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | death_checking | 1.15ms | 0.001 | 1.18ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_expn_that_defined | 1.06ms | 0.000 | 1.06ms | 5 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_inferred_outlives_of | 1.03ms | 0.000 | 1.03ms | 37 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | reachable_set | 1.01ms | 0.000 | 1.01ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | defined_lang_items | 1.00ms | 0.000 | 1.04ms | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | mir_promoted | 951.80µs | 0.000 | 17.51s | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | hir_lowering | 949.76µs | 0.000 | 949.76µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | needs_drop_raw | 938.76µs | 0.000 | 3.66s | 113 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | parse_crate | 937.47µs | 0.000 | 937.47µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | mir_const | 917.67µs | 0.000 | 17.50s | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | all_crate_nums | 855.56µs | 0.000 | 855.56µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | collect_and_partition_mono_items | 849.61µs | 0.000 | 2.46ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | build_hir_map | 843.69µs | 0.000 | 843.69µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | incr_comp_encode_serialized_dep_graph | 832.89µs | 0.000 | 832.89µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | exported_symbols | 825.67µs | 0.000 | 5.56ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | param_env | 801.61µs | 0.000 | 1.53ms | 41 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | is_copy_raw | 782.96µs | 0.000 | 3.66s | 152 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_lookup_stability | 774.88µs | 0.000 | 774.88µs | 10 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_lookup_deprecation_entry | 770.34µs | 0.000 | 770.34µs | 9 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | implied_outlives_bounds | 746.36µs | 0.000 | 746.36µs | 51 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | impl_trait_ref | 741.21µs | 0.000 | 21.10ms | 124 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | incr_comp_persist_result_cache | 732.37µs | 0.000 | 11.00ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | drop_compiler | 730.29µs | 0.000 | 730.29µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | erase_regions_ty | 725.36µs | 0.000 | 5.25ms | 96 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | encode_query_results | 697.96µs | 0.000 | 7.82ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | unused_lib_feature_checking | 687.65µs | 0.000 | 1.06ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | find_cgu_reuse | 652.66µs | 0.000 | 652.66µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_fn_sig | 642.34µs | 0.000 | 743.89µs | 7 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | dropck_outlives | 609.24µs | 0.000 | 23.17ms | 83 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | native_libraries | 598.60µs | 0.000 | 1.10ms | 16 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | check_item_well_formed | 597.84µs | 0.000 | 5.30ms | 7 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_variances_of | 587.65µs | 0.000 | 587.65µs | 7 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | trait_impls_of | 568.94µs | 0.000 | 7.07ms | 9 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | type_uninhabited_from | 541.63µs | 0.000 | 550.43µs | 72 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | unsafety_check_result | 537.96µs | 0.000 | 25.26s | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | dependency_formats | 529.43µs | 0.000 | 529.43µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_native_libraries | 504.75µs | 0.000 | 504.75µs | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_module_optimize_module_passes | 491.58µs | 0.000 | 491.58µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | link_binary | 481.32µs | 0.000 | 2.72ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | prepare_outputs | 475.90µs | 0.000 | 475.90µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_opt_def_kind | 462.51µs | 0.000 | 462.51µs | 46 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | dep_kind | 448.61µs | 0.000 | 451.64µs | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_generics_of | 415.94µs | 0.000 | 415.94µs | 44 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | used_trait_imports | 414.07µs | 0.000 | 414.07µs | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_implementations_of_trait | 413.82µs | 0.000 | 413.82µs | 135 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | promoted_mir | 409.57µs | 0.000 | 409.57µs | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | explicit_predicates_of | 408.81µs | 0.000 | 4.36ms | 74 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | used_crate_source | 383.16µs | 0.000 | 394.39µs | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | serialize_work_products | 381.88µs | 0.000 | 381.88µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | item_attrs | 373.96µs | 0.000 | 2.93ms | 121 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | get_lib_features | 373.19µs | 0.000 | 373.19µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | check_private_in_public | 372.50µs | 0.000 | 379.34µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | copy_all_cgu_workproducts_to_incr_comp_cache_dir | 350.81µs | 0.000 | 350.81µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_inherent_impls | 345.78µs | 0.000 | 345.78µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | misc_checking_3 | 344.30µs | 0.000 | 65.51s | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | specialization_graph_of | 339.76µs | 0.000 | 22.36ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | adt_def | 332.94µs | 0.000 | 11.91ms | 114 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | variances_of | 324.87µs | 0.000 | 2.85ms | 9 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | generator_kind | 286.05µs | 0.000 | 286.05µs | 16 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_super_predicates_of | 282.62µs | 0.000 | 282.62µs | 4 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_intrinsics | 276.59µs | 0.000 | 276.59µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | extra_filename | 275.65µs | 0.000 | 281.25µs | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | MIR_effect_checking | 260.44µs | 0.000 | 260.44µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | param_env_reveal_all_normalized | 247.30µs | 0.000 | 250.92µs | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | incr_comp_finalize_session_directory | 246.18µs | 0.000 | 246.18µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | output_filenames | 245.75µs | 0.000 | 245.75µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | serialize_dep_graph | 239.60µs | 0.000 | 12.37ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | incr_comp_persist_dep_graph | 234.65µs | 0.000 | 1.14ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | generics_of | 224.90µs | 0.000 | 781.26µs | 81 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | predicates_defined_on | 222.00µs | 0.000 | 5.71ms | 74 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | mir_keys | 198.74µs | 0.000 | 198.74µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | codegen_fn_attrs | 187.63µs | 0.000 | 2.38ms | 44 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | assert_symbols_are_distinct | 186.74µs | 0.000 | 186.74µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | analysis | 173.48µs | 0.000 | 199.33s | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | layout_testing | 164.45µs | 0.000 | 164.45µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | is_sized_raw | 163.96µs | 0.000 | 1.69s | 17 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | codegen_module_optimize | 161.41µs | 0.000 | 14.00ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | foreign_modules | 161.14µs | 0.000 | 161.14µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | conservative_is_privately_uninhabited | 157.66µs | 0.000 | 691.46µs | 6 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | type_of | 156.19µs | 0.000 | 129.24s | 65 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | configure_and_expand | 151.91µs | 0.000 | 55.44ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | setup_global_ctxt | 148.56µs | 0.000 | 148.56µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | upvars_mentioned | 146.44µs | 0.000 | 146.44µs | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | drop_dep_graph | 145.98µs | 0.000 | 145.98µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | link_binary_remove_temps | 135.46µs | 0.000 | 135.46µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | def_span | 124.49µs | 0.000 | 135.16µs | 56 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_attrs | 110.93µs | 0.000 | 2.28ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | collect_mod_item_types | 108.48µs | 0.000 | 1.13ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_unstable_api_usage | 106.96µs | 0.000 | 1.79ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | create_global_ctxt | 105.71µs | 0.000 | 282.13µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | resolve_lifetimes | 104.29µs | 0.000 | 113.14µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | inferred_outlives_of | 95.28µs | 0.000 | 1.12ms | 74 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | incr_comp_prepare_load_dep_graph | 93.12µs | 0.000 | 93.12µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | early_lint_checks | 91.24µs | 0.000 | 91.24µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | mir_const_qualif | 87.16µs | 0.000 | 87.16µs | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | impl_parent | 85.73µs | 0.000 | 3.43ms | 99 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | opt_def_kind | 85.56µs | 0.000 | 554.84µs | 92 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | blocked_on_dep_graph_loading | 81.76µs | 0.000 | 81.76µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | get_lang_items | 73.22µs | 0.000 | 1.97ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | stability_index | 72.85µs | 0.000 | 72.85µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | incr_comp_encode_dep_graph | 71.12µs | 0.000 | 904.01µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | lint_levels | 64.82µs | 0.000 | 64.82µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_module_codegen | 63.93µs | 0.000 | 11.41ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | fn_sig | 61.25µs | 0.000 | 812.67µs | 9 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | incr_comp_garbage_collect_session_directories | 60.84µs | 0.000 | 60.84µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | explicit_item_bounds | 60.48µs | 0.000 | 1.52ms | 3 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | adt_dtorck_constraint | 60.42µs | 0.000 | 44.99ms | 7 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | mir_abstract_const | 57.43µs | 0.000 | 57.43µs | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | visibility | 57.29µs | 0.000 | 64.60µs | 58 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | associated_items | 54.44µs | 0.000 | 127.37µs | 5 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | pre_AST_expansion_lint_checks | 53.40µs | 0.000 | 53.40µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | AST_validation | 52.81µs | 0.000 | 52.81µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | link_crate | 51.80µs | 0.000 | 2.77ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | supported_target_features | 48.09µs | 0.000 | 48.09µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | crate_injection | 47.82µs | 0.000 | 47.82µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | hir_owner | 46.61µs | 0.000 | 904.69µs | 12 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | drop_ast | 46.36µs | 0.000 | 46.36µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_loops | 44.98µs | 0.000 | 44.98µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | type_op_ascribe_user_type | 44.63µs | 0.000 | 44.63µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | opt_const_param_of | 40.81µs | 0.000 | 40.81µs | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | adt_drop_tys | 39.66µs | 0.000 | 201.26µs | 2 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | diagnostic_items | 38.88µs | 0.000 | 52.38µs | 3 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | impl_polarity | 37.91µs | 0.000 | 46.27µs | 11 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | lookup_deprecation_entry | 37.18µs | 0.000 | 880.37µs | 18 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | match_checking | 32.79µs | 0.000 | 2.25ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | unused_generic_params | 31.30µs | 0.000 | 31.30µs | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_const_bodies | 31.29µs | 0.000 | 37.51µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | hir_module_items | 31.24µs | 0.000 | 31.24µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | incr_comp_load_dep_graph | 30.41µs | 0.000 | 30.41µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | wf_checking | 30.17µs | 0.000 | 5.33ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | expn_that_defined | 29.50µs | 0.000 | 1.09ms | 5 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | features_query | 29.36µs | 0.000 | 29.36µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | item_bounds | 28.58µs | 0.000 | 1.49ms | 3 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_adt_destructor | 28.27µs | 0.000 | 22.42ms | 8 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | original_crate_name | 28.17µs | 0.000 | 32.69µs | 16 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | incr_comp_load_query_result_cache | 27.86µs | 0.000 | 27.86µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | lookup_stability | 27.71µs | 0.000 | 802.59µs | 11 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | adt_sized_constraint | 27.58µs | 0.000 | 414.04µs | 6 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | is_panic_runtime | 27.54µs | 0.000 | 32.45µs | 16 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | object_lifetime_defaults_map | 27.28µs | 0.000 | 140.42µs | 7 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_defined_lang_items | 27.08µs | 0.000 | 42.89µs | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | trait_def | 27.03µs | 0.000 | 34.98µs | 7 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | resolve_instance | 25.94µs | 0.000 | 43.96µs | 2 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | typeck_item_bodies | 25.49µs | 0.000 | 25.49µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | coherence_checking | 24.89µs | 0.000 | 48.35µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_associated_item_def_ids | 24.70µs | 0.000 | 24.70µs | 5 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | partition_and_assert_distinct_symbols | 24.33µs | 0.000 | 1.59ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | associated_item | 24.04µs | 0.000 | 36.11µs | 12 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | link_binary_check_files_are_writeable | 22.64µs | 0.000 | 22.64µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | associated_item_def_ids | 22.43µs | 0.000 | 47.13µs | 5 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | looking_for_entry_point | 22.06µs | 0.000 | 32.36µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | complete_gated_feature_checking | 21.77µs | 0.000 | 21.77µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | crate_hash | 20.23µs | 0.000 | 23.32µs | 16 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | link | 18.94µs | 0.000 | 3.93ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | crate_disambiguator | 18.80µs | 0.000 | 21.97µs | 16 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | crate_name | 17.69µs | 0.000 | 21.35µs | 16 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | lit_to_const | 17.67µs | 0.000 | 17.67µs | 2 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | looking_for_plugin_registrar | 17.47µs | 0.000 | 27.71µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | coherent_trait | 17.24µs | 0.000 | 22.37ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | misc_checking_1 | 16.91µs | 0.000 | 4.24ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | hir_crate | 15.64µs | 0.000 | 15.64µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | inherent_impls | 15.57µs | 0.000 | 361.35µs | 5 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | module_exports | 15.46µs | 0.000 | 15.46µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | finalize_macro_resolutions | 15.40µs | 0.000 | 15.40µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | hir_owner_nodes | 14.60µs | 0.000 | 14.60µs | 4 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | index_hir | 14.39µs | 0.000 | 858.08µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_diagnostic_items | 13.50µs | 0.000 | 13.50µs | 2 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | resolve_postprocess | 12.86µs | 0.000 | 12.86µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | monomorphization_collector_root_collections | 12.57µs | 0.000 | 12.57µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | maybe_unused_extern_crates | 12.50µs | 0.000 | 12.50µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | is_compiler_builtins | 12.30µs | 0.000 | 13.62µs | 16 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_associated_item | 12.07µs | 0.000 | 12.07µs | 12 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_naked_functions | 11.93µs | 0.000 | 11.93µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | macro_expand_crate | 11.89µs | 0.000 | 42.50ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | in_scope_traits_map | 11.67µs | 0.000 | 11.67µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | join_worker_thread | 11.30µs | 0.000 | 11.30µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | crate_inherent_impls | 11.27µs | 0.000 | 11.27µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | normalize_opaque_types | 11.25µs | 0.000 | 11.25µs | 2 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_used_crate_source | 11.23µs | 0.000 | 11.23µs | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | resolve_check_unused | 10.95µs | 0.000 | 10.95µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | crate_host_hash | 10.88µs | 0.000 | 13.80µs | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | is_no_builtins | 10.83µs | 0.000 | 12.13µs | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_def_span | 10.67µs | 0.000 | 10.67µs | 14 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | entry_fn | 10.30µs | 0.000 | 10.30µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | plugin_registrar_fn | 10.24µs | 0.000 | 10.24µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | all_local_trait_impls | 9.74µs | 0.000 | 9.74µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | adt_destructor | 8.94µs | 0.000 | 22.42ms | 8 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | is_profiler_runtime | 8.83µs | 0.000 | 10.10µs | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | missing_lang_items | 8.73µs | 0.000 | 16.37µs | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_impl_polarity | 8.36µs | 0.000 | 8.36µs | 11 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | codegen_unit | 8.23µs | 0.000 | 8.23µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_trait_def | 7.96µs | 0.000 | 7.96µs | 7 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | postorder_cnums | 7.79µs | 0.000 | 7.79µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_missing_lang_items | 7.64µs | 0.000 | 7.64µs | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | parent_module_from_def_id | 7.56µs | 0.000 | 7.56µs | 4 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | link_args | 7.40µs | 0.000 | 7.40µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_visibility | 7.30µs | 0.000 | 7.30µs | 20 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | type_collecting | 6.88µs | 0.000 | 1.14ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | finish_ongoing_codegen | 6.61µs | 0.000 | 368.72µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_impl_wf | 6.39µs | 0.000 | 6.39µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | cgu_partitioning_merge_cgus | 6.37µs | 0.000 | 6.37µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | privacy_checking_modules | 6.34µs | 0.000 | 60.46s | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | module_lints | 6.29µs | 0.000 | 2.15ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | has_global_allocator | 6.26µs | 0.000 | 6.26µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | super_predicates_of | 6.25µs | 0.000 | 288.87µs | 4 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | is_const_fn_raw | 6.22µs | 0.000 | 6.22µs | 2 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | liveness_and_intrinsic_checking | 5.99µs | 0.000 | 2.91ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | extern_mod_stmt_cnum | 5.98µs | 0.000 | 5.98µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | cgu_partitioning | 5.85µs | 0.000 | 1.38ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | item_types_checking | 5.83µs | 0.000 | 133.80s | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_extra_filename | 5.60µs | 0.000 | 5.60µs | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | unsafety_checking | 5.39µs | 0.000 | 5.39µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | item_bodies_checking | 5.36µs | 0.000 | 30.84µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | is_late_bound_map | 5.22µs | 0.000 | 5.22µs | 2 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | backend_optimization_level | 5.04µs | 0.000 | 5.04µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_is_panic_runtime | 4.91µs | 0.000 | 4.91µs | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | impl_wf_inference | 4.89µs | 0.000 | 11.28µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | trait_of_item | 4.69µs | 0.000 | 6.17µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | recursion_limit | 4.58µs | 0.000 | 4.58µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | lint_checking | 4.53µs | 0.000 | 6.34ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | crate_inherent_impls_overlap_check | 4.52µs | 0.000 | 4.52µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_original_crate_name | 4.52µs | 0.000 | 4.52µs | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | maybe_create_a_macro_crate | 4.45µs | 0.000 | 4.45µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | monomorphization_collector | 4.43µs | 0.000 | 17.42µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | cgu_partitioning_place_inline_items | 4.27µs | 0.000 | 4.27µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | MIR_borrow_checking | 4.13µs | 0.000 | 4.13µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | attributes_injection | 4.11µs | 0.000 | 4.11µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | resolve_crate | 4.09µs | 0.000 | 12.60ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_crate_name | 3.66µs | 0.000 | 3.66µs | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_module_optimize_function_passes | 3.51µs | 0.000 | 3.51µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | plugin_loading | 3.19µs | 0.000 | 3.19µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_crate_disambiguator | 3.17µs | 0.000 | 3.17µs | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_crate_hash | 3.09µs | 0.000 | 3.09µs | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_dep_kind | 3.03µs | 0.000 | 3.03µs | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_crate_host_hash | 2.91µs | 0.000 | 2.91µs | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | resolve_report_errors | 2.74µs | 0.000 | 2.74µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | maybe_building_test_harness | 2.47µs | 0.000 | 2.47µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | misc_checking_2 | 2.37µs | 0.000 | 5.16ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | orphan_checking | 2.28µs | 0.000 | 2.28µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | named_region_map | 2.07µs | 0.000 | 2.07µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | has_panic_handler | 1.79µs | 0.000 | 1.79µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | maybe_unused_trait_import | 1.65µs | 0.000 | 1.65µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_trait_of_item | 1.48µs | 0.000 | 1.48µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_is_compiler_builtins | 1.32µs | 0.000 | 1.32µs | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_is_no_builtins | 1.30µs | 0.000 | 1.30µs | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_is_profiler_runtime | 1.28µs | 0.000 | 1.28µs | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | proc_macro_decls_static | 1.04µs | 0.000 | 1.04µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | looking_for_derive_registrar | 794.00ns | 0.000 | 1.83µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | assert_dep_graph | 725.00ns | 0.000 | 725.00ns | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | check_unused_macros | 594.00ns | 0.000 | 594.00ns | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | Item | Self time | % of total time | Time | Item count | +--------------------------------------------------+-----------+-----------------+----------+------------+ | mir_borrowck | 76.89s | 33.794 | 288.22s | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_privacy | 60.46s | 26.574 | 60.46s | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | type_op_prove_predicate | 27.68s | 12.164 | 27.68s | 260 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | normalize_generic_arg_after_erasing_regions | 24.58s | 10.802 | 24.58s | 135 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | typeck | 13.79s | 6.062 | 13.84s | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ :...skipping... +--------------------------------------------------+-----------+-----------------+----------+------------+ | Item | Self time | % of total time | Time | Item count | +--------------------------------------------------+-----------+-----------------+----------+------------+ | mir_borrowck | 76.89s | 33.794 | 288.22s | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_privacy | 60.46s | 26.574 | 60.46s | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | type_op_prove_predicate | 27.68s | 12.164 | 27.68s | 260 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | normalize_generic_arg_after_erasing_regions | 24.58s | 10.802 | 24.58s | 135 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | typeck | 13.79s | 6.062 | 13.84s | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | normalize_projection_ty | 5.46s | 2.402 | 5.46s | 17 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | evaluate_obligation | 5.35s | 2.351 | 5.36s | 330 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | privacy_access_levels | 5.04s | 2.216 | 5.04s | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_item_types | 4.56s | 2.006 | 133.80s | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | optimized_mir | 3.45s | 1.517 | 36.20s | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | expand_crate | 19.92ms | 0.009 | 42.49ms | 1 | :...skipping... +--------------------------------------------------+-----------+-----------------+----------+------------+ | Item | Self time | % of total time | Time | Item count | +--------------------------------------------------+-----------+-----------------+----------+------------+ | mir_borrowck | 76.89s | 33.794 | 288.22s | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_privacy | 60.46s | 26.574 | 60.46s | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | type_op_prove_predicate | 27.68s | 12.164 | 27.68s | 260 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | normalize_generic_arg_after_erasing_regions | 24.58s | 10.802 | 24.58s | 135 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | typeck | 13.79s | 6.062 | 13.84s | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | normalize_projection_ty | 5.46s | 2.402 | 5.46s | 17 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | evaluate_obligation | 5.35s | 2.351 | 5.36s | 330 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | privacy_access_levels | 5.04s | 2.216 | 5.04s | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_item_types | 4.56s | 2.006 | 133.80s | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ +--------------------------------------------------+-----------+-----------------+----------+------------+ | Item | Self time | % of total time | Time | Item count | +--------------------------------------------------+-----------+-----------------+----------+------------+ | mir_borrowck | 76.89s | 33.794 | 288.22s | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_privacy | 60.46s | 26.574 | 60.46s | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | type_op_prove_predicate | 27.68s | 12.164 | 27.68s | 260 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | normalize_generic_arg_after_erasing_regions | 24.58s | 10.802 | 24.58s | 135 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | typeck | 13.79s | 6.062 | 13.84s | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | normalize_projection_ty | 5.46s | 2.402 | 5.46s | 17 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | evaluate_obligation | 5.35s | 2.351 | 5.36s | 330 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | privacy_access_levels | 5.04s | 2.216 | 5.04s | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_item_types | 4.56s | 2.006 | 133.80s | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | optimized_mir | 3.45s | 1.517 | 36.20s | 32 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | expand_crate | 19.92ms | 0.009 | 42.49ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_register_crate | 18.63ms | 0.008 | 22.47ms | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_passes | 14.13ms | 0.006 | 14.13ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_module_codegen_emit_obj | 11.34ms | 0.005 | 11.34ms | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_impl_trait_ref | 10.97ms | 0.005 | 20.36ms | 124 | ...skipping... | named_region_map | 2.07µs | 0.000 | 2.07µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | has_panic_handler | 1.79µs | 0.000 | 1.79µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | maybe_unused_trait_import | 1.65µs | 0.000 | 1.65µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_trait_of_item | 1.48µs | 0.000 | 1.48µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_is_compiler_builtins | 1.32µs | 0.000 | 1.32µs | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_is_no_builtins | 1.30µs | 0.000 | 1.30µs | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_is_profiler_runtime | 1.28µs | 0.000 | 1.28µs | 15 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | proc_macro_decls_static | 1.04µs | 0.000 | 1.04µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | looking_for_derive_registrar | 794.00ns | 0.000 | 1.83µs | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | assert_dep_graph | 725.00ns | 0.000 | 725.00ns | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | check_unused_macros | 594.00ns | 0.000 | 594.00ns | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | monomorphization_collector_graph_walk | 417.00ns | 0.000 | 417.00ns | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | cgu_partitioning_internalize_symbols | 296.00ns | 0.000 | 296.00ns | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | llvm_dump_timing_file | 173.00ns | 0.000 | 173.00ns | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | incr_comp_query_cache_promotion | 165.00ns | 0.000 | 165.00ns | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ | plugin_registration | 82.00ns | 0.000 | 82.00ns | 1 | +--------------------------------------------------+-----------+-----------------+----------+------------+ Total cpu time: 227.524518269s ```
hameerabbasi commented 3 years ago

Bisected (almost certainly introduced with the original await PR), when this first compiled.

********************************************************************************
Regression in nightly-2019-05-09
********************************************************************************

fetching https://static.rust-lang.org/dist/2019-05-08/channel-rust-nightly-git-commit-hash.txt
nightly manifest 2019-05-08: 40 B / 40 B [===============] 100.00 % 652.99 KB/s converted 2019-05-08 to cfdc84a009020c59e53e4039beae22eb59e41685
fetching https://static.rust-lang.org/dist/2019-05-09/channel-rust-nightly-git-commit-hash.txt
nightly manifest 2019-05-09: 40 B / 40 B [===============] 100.00 % 683.02 KB/s converted 2019-05-09 to 3f5152e200c0c02dfe0f79367948c98053d35855
looking for regression commit between 2019-05-08 and 2019-05-09
opening existing repository at "rust.git"
refreshing repository
fetching (via local git) commits from cfdc84a009020c59e53e4039beae22eb59e41685 to 3f5152e200c0c02dfe0f79367948c98053d35855
opening existing repository at "rust.git"
refreshing repository
looking up first commit
looking up second commit
checking that commits are by bors and thus have ci artifacts...
finding bors merge commits
found 6 bors merge commits in the specified range
  commit[0] 2019-05-07UTC: Auto merge of #60612 - Centril:rollup-61drhqt, r=Centril
  commit[1] 2019-05-07UTC: Auto merge of #60586 - cramertj:await, r=oli-obk
  commit[2] 2019-05-08UTC: Auto merge of #60378 - froydnj:apple-target-modifications, r=michaelwoerister
  commit[3] 2019-05-08UTC: Auto merge of #60246 - Zoxc:hir-map-vec, r=eddyb
  commit[4] 2019-05-08UTC: Auto merge of #60626 - matthiaskrgr:submodule_upd, r=oli-obk
  commit[5] 2019-05-08UTC: Auto merge of #60402 - michaelwoerister:update-profiler-rt-build, r=alexcrichton
ERROR: no commits between cfdc84a009020c59e53e4039beae22eb59e41685 and 3f5152e200c0c02dfe0f79367948c98053d35855 within last 167 days
JohnTitor commented 3 years ago

Assigning P-medium as discussed as part of the Prioritization Working Group procedure and removing I-prioritize.