rust-lang / rust

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

Heavy usage of traits & generics causes incredibly slow compile times & code bloat #78925

Open Kixiron opened 4 years ago

Kixiron commented 4 years ago

differential-datalog makes heavy use of timely-dataflow and differential-dataflow. When using this library, compile times are excessively slow (even when no changes are made to the library itself), taking up to 10 minutes to build in debug mode and much longer in release mode.

Running llvm-lines reveals a lot of code being generated, with ptr::drop_in_place() leading the bunch

  Lines           Copies        Function name
  -----           ------        -------------
  2588400 (100%)  99062 (100%)  (TOTAL)
   135564 (5.2%)   8866 (8.9%)  core::ptr::drop_in_place
    82119 (3.2%)   1994 (2.0%)  core::option::Option<T>::map
    63887 (2.5%)    269 (0.3%)  timely::dataflow::operators::generic::builder_rc::OperatorBuilder<G>::build
    63484 (2.5%)    269 (0.3%)  timely::dataflow::operators::generic::builder_rc::OperatorBuilder<G>::build::{{closure}}
    59040 (2.3%)    144 (0.1%)  differential_dataflow::operators::join::JoinThinker<V1,V2,T,R1,R2>::think
    55626 (2.1%)    438 (0.4%)  alloc::raw_vec::RawVec<T,A>::grow_amortized
    ...

Full output

Running cargo-bloat shows that the crate takes up almost 17mb in debug mode and a still sizeable 2mb in release mode

Debug mode

 File  .text     Size Crate
26.1%  55.7%  16.5MiB differential_datalog

Release mode

 File  .text     Size Crate
12.4%  18.9%   1.9MiB differential_dataflow

Meta

rustc --version --verbose:

Both windows and linux were tested

rustc 1.47.0 (18bf6b4f0 2020-10-07)
binary: rustc
commit-hash: 18bf6b4f01a6feaf7259ba7cdae58031af1b7b39
commit-date: 2020-10-07
host: x86_64-pc-windows-msvc
release: 1.47.0
LLVM version: 11.0
rustc 1.47.0 (18bf6b4f0 2020-10-07)
binary: rustc
commit-hash: 18bf6b4f01a6feaf7259ba7cdae58031af1b7b39
commit-date: 2020-10-07
host: x86_64-unknown-linux-gnu
release: 1.47.0
LLVM version: 11.0
jyn514 commented 4 years ago

@Kixiron could you run -Z self-profile on the crate and see if anything sticks out as taking much longer than the rest? https://github.com/rust-lang/measureme/blob/master/summarize/Readme.md

Kixiron commented 4 years ago
Profile when the crate is depended on, but not actually executed ``` +-------------------------------------------------+-----------+-----------------+----------+------------+ | Item | Self time | % of total time | Time | Item count | +-------------------------------------------------+-----------+-----------------+----------+------------+ | finish_ongoing_codegen | 46.05s | 33.454 | 46.05s | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_passes | 44.66s | 32.443 | 46.07s | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_lto_optimize | 22.82s | 16.579 | 22.82s | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_module_codegen_emit_obj | 20.98s | 15.242 | 20.98s | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_fat_lto_link_module | 1.14s | 0.829 | 1.14s | 83 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_module_optimize_module_passes | 612.60ms | 0.445 | 612.60ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | run_linker | 454.30ms | 0.330 | 454.30ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | codegen_generate_lto_work | 263.81ms | 0.192 | 1.42s | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_module_codegen | 220.18ms | 0.160 | 21.20s | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | codegen_module | 35.48ms | 0.026 | 46.42ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_register_crate | 35.00ms | 0.025 | 113.00ms | 92 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | expand_crate | 34.13ms | 0.025 | 70.42ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | codegen_crate | 31.10ms | 0.023 | 188.45ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_module_optimize_function_passes | 20.51ms | 0.015 | 20.51ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_item_attrs | 19.24ms | 0.014 | 19.24ms | 11039 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | typeck | 14.93ms | 0.011 | 26.10ms | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | self_profile_alloc_query_strings | 13.64ms | 0.010 | 13.64ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | free_global_ctxt | 11.68ms | 0.008 | 11.68ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | codegen_fn_attrs | 11.46ms | 0.008 | 40.29ms | 7865 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_adt_def | 10.62ms | 0.008 | 18.08ms | 3247 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_fat_lto_build_monolithic_module | 9.85ms | 0.007 | 1.15s | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | mir_borrowck | 9.06ms | 0.007 | 23.25ms | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | specialization_graph_of | 7.67ms | 0.006 | 42.47ms | 53 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | link_binary | 7.35ms | 0.005 | 469.39ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | resolve_crate | 6.91ms | 0.005 | 6.91ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | link_altering_rlib | 6.80ms | 0.005 | 6.80ms | 82 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | evaluate_obligation | 6.67ms | 0.005 | 9.72ms | 799 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_impl_trait_ref | 6.66ms | 0.005 | 24.76ms | 12973 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_fn_sig | 5.44ms | 0.004 | 5.89ms | 7234 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_generics_of | 5.27ms | 0.004 | 5.27ms | 11344 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_item_children | 5.01ms | 0.004 | 5.01ms | 4341 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_optimized_mir | 4.67ms | 0.003 | 4.69ms | 451 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_impl_parent | 4.45ms | 0.003 | 4.45ms | 11062 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | symbol_name | 4.41ms | 0.003 | 5.07ms | 1071 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | codegen_fulfill_obligation | 4.26ms | 0.003 | 7.64ms | 273 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | monomorphization_collector_graph_walk | 4.20ms | 0.003 | 40.80ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_type_of | 3.45ms | 0.003 | 3.66ms | 11143 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | mir_built | 3.44ms | 0.002 | 5.21ms | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | type_of | 3.42ms | 0.002 | 9.39ms | 11230 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | generics_of | 3.31ms | 0.002 | 9.26ms | 11441 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | predicates_of | 3.12ms | 0.002 | 6.73ms | 1074 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | trait_impls_of | 3.10ms | 0.002 | 5.60ms | 67 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | param_env | 3.01ms | 0.002 | 6.43ms | 740 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | impl_trait_ref | 2.67ms | 0.002 | 29.53ms | 12993 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | item_attrs | 2.48ms | 0.002 | 21.71ms | 11039 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_liveness | 2.30ms | 0.002 | 2.31ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | layout_raw | 2.20ms | 0.002 | 5.64ms | 1980 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | impl_parent | 2.17ms | 0.002 | 6.62ms | 11062 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | mir_drops_elaborated_and_const_checked | 2.15ms | 0.002 | 3.89ms | 34 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | optimized_mir | 2.06ms | 0.001 | 11.56ms | 485 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | def_kind | 2.02ms | 0.001 | 2.80ms | 8446 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | fn_sig | 1.94ms | 0.001 | 7.95ms | 7256 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | associated_item | 1.88ms | 0.001 | 4.65ms | 8024 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_associated_item | 1.87ms | 0.001 | 1.87ms | 8002 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_foreign_item | 1.81ms | 0.001 | 2.63ms | 7321 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | resolve_instance | 1.78ms | 0.001 | 18.51ms | 1290 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | eval_to_allocation_raw | 1.73ms | 0.001 | 7.83ms | 59 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | codegen_module_perform_lto | 1.68ms | 0.001 | 44.02s | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_associated_item_def_ids | 1.67ms | 0.001 | 1.67ms | 357 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_module_optimize | 1.55ms | 0.001 | 634.65ms | 2 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | type_op_prove_predicate | 1.45ms | 0.001 | 1.65ms | 184 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_implementations_of_trait | 1.37ms | 0.001 | 1.37ms | 6164 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_load_macro | 1.28ms | 0.001 | 1.28ms | 16 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | analysis | 1.25ms | 0.001 | 115.84ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | predicates_defined_on | 1.23ms | 0.001 | 3.36ms | 1074 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | associated_items | 1.21ms | 0.001 | 3.71ms | 371 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | mir_shims | 1.20ms | 0.001 | 2.28ms | 99 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_impl_item_well_formed | 1.13ms | 0.001 | 7.51ms | 22 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | implementations_of_trait | 1.12ms | 0.001 | 2.49ms | 6164 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | mir_promoted | 990.70µs | 0.001 | 7.51ms | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | normalize_projection_ty | 981.60µs | 0.001 | 1.08ms | 72 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | visibility | 929.20µs | 0.001 | 1.37ms | 202 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | visible_parent_map | 902.30µs | 0.001 | 6.75ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_item_types | 886.50µs | 0.001 | 1.07ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | adt_dtorck_constraint | 831.00µs | 0.001 | 3.27ms | 47 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_is_foreign_item | 820.60µs | 0.001 | 820.60µs | 7290 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | item_children | 795.30µs | 0.001 | 5.81ms | 4341 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | cgu_partitioning_place_roots | 785.10µs | 0.001 | 855.60µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | link_binary_remove_temps | 780.80µs | 0.001 | 780.80µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_def_kind | 778.00µs | 0.001 | 778.00µs | 8350 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_explicit_predicates_of | 769.70µs | 0.001 | 769.70µs | 979 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | hir_lowering | 764.70µs | 0.001 | 764.70µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | privacy_access_levels | 755.40µs | 0.001 | 759.00µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | build_hir_map | 751.80µs | 0.001 | 751.80µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | crate_lints | 736.50µs | 0.001 | 904.40µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | prepare_outputs | 735.40µs | 0.001 | 735.40µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | adt_def | 733.80µs | 0.001 | 18.82ms | 3250 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_item_well_formed | 695.70µs | 0.001 | 2.38ms | 33 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | type_check_crate | 651.30µs | 0.000 | 74.08ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | erase_regions_ty | 640.30µs | 0.000 | 756.80µs | 2327 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | region_scope_tree | 639.50µs | 0.000 | 639.50µs | 72 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | specializes | 634.00µs | 0.000 | 1.04ms | 145 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | normalize_generic_arg_after_erasing_regions | 625.60µs | 0.000 | 3.03ms | 260 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_adt_destructor | 592.70µs | 0.000 | 647.50µs | 59 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | dropck_outlives | 555.00µs | 0.000 | 2.16ms | 37 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | configure_and_expand | 552.30µs | 0.000 | 78.65ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | needs_drop_raw | 544.90µs | 0.000 | 3.64ms | 228 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | parse_crate | 506.90µs | 0.000 | 506.90µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_copy_raw | 491.10µs | 0.000 | 2.67ms | 357 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_unstable_api_usage | 471.50µs | 0.000 | 7.38ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | macro_expand_crate | 460.30µs | 0.000 | 70.88ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_match | 446.60µs | 0.000 | 579.50µs | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | assert_symbols_are_distinct | 444.80µs | 0.000 | 5.23ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | MIR_borrow_checking | 427.60µs | 0.000 | 18.25ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_panic_runtime | 426.50µs | 0.000 | 435.00µs | 93 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | supported_target_features | 425.70µs | 0.000 | 425.70µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | lint_mod | 423.20µs | 0.000 | 537.40µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | adt_destructor | 418.60µs | 0.000 | 2.11ms | 62 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | hir_crate | 407.50µs | 0.000 | 407.50µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_def_span | 399.60µs | 0.000 | 399.60µs | 731 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | mir_const | 383.40µs | 0.000 | 6.42ms | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | hir_owner | 378.20µs | 0.000 | 1.46ms | 56 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | used_crate_source | 366.80µs | 0.000 | 393.90µs | 92 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_privacy | 363.40µs | 0.000 | 427.80µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | MIR_effect_checking | 352.40µs | 0.000 | 382.00µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | param_env_reveal_all_normalized | 345.10µs | 0.000 | 345.10µs | 35 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | variances_of | 344.80µs | 0.000 | 414.00µs | 32 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | upvars_mentioned | 344.50µs | 0.000 | 344.50µs | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_const_bodies | 342.50µs | 0.000 | 360.40µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | explicit_predicates_of | 329.00µs | 0.000 | 1.12ms | 1074 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | index_hir | 328.40µs | 0.000 | 1.08ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | type_op_ascribe_user_type | 323.60µs | 0.000 | 329.90µs | 11 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | const_caller_location | 316.10µs | 0.000 | 316.10µs | 20 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_impl_wf | 315.70µs | 0.000 | 319.90µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | looking_for_plugin_registrar | 309.60µs | 0.000 | 316.00µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | defined_lang_items | 290.60µs | 0.000 | 310.80µs | 92 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | vtable_methods | 280.90µs | 0.000 | 353.80µs | 12 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_trait_of_item | 275.20µs | 0.000 | 275.20µs | 498 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | cgu_partitioning_place_inline_items | 272.40µs | 0.000 | 272.40µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_exported_symbols | 268.00µs | 0.000 | 268.00µs | 92 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | inferred_outlives_of | 265.50µs | 0.000 | 1.01ms | 1074 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | unsafety_check_result | 252.20µs | 0.000 | 7.23ms | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | drop_compiler | 245.60µs | 0.000 | 245.60µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | implied_outlives_bounds | 236.40µs | 0.000 | 236.40µs | 49 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | drop_ast | 229.40µs | 0.000 | 229.40µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | def_span | 223.50µs | 0.000 | 623.10µs | 821 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | early_lint_checks | 217.30µs | 0.000 | 217.30µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_freeze_raw | 206.00µs | 0.000 | 2.20ms | 142 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_profiler_runtime | 204.00µs | 0.000 | 208.80µs | 92 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_inferred_outlives_of | 198.10µs | 0.000 | 198.10µs | 979 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | eval_to_const_value_raw | 192.70µs | 0.000 | 14.97ms | 179 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | setup_global_ctxt | 185.50µs | 0.000 | 185.50µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | resolve_lifetimes | 182.70µs | 0.000 | 635.00µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | adt_drop_tys | 181.30µs | 0.000 | 1.33ms | 42 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | AST_validation | 178.30µs | 0.000 | 178.30µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | link_binary_check_files_are_writeable | 160.50µs | 0.000 | 160.50µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | method_autoderef_steps | 155.50µs | 0.000 | 489.10µs | 23 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | trait_of_item | 144.10µs | 0.000 | 419.30µs | 508 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | link | 140.80µs | 0.000 | 46.52s | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | cgu_partitioning | 132.40µs | 0.000 | 1.46ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | collect_mod_item_types | 132.20µs | 0.000 | 1.82ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | associated_item_def_ids | 124.20µs | 0.000 | 1.80ms | 371 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | instance_def_size_estimate | 119.30µs | 0.000 | 119.30µs | 555 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | death_checking | 112.70µs | 0.000 | 125.60µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_attrs | 112.60µs | 0.000 | 6.01ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_mir_available | 108.30µs | 0.000 | 225.70µs | 453 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | lint_levels | 107.90µs | 0.000 | 107.90µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | type_op_normalize_predicate | 106.60µs | 0.000 | 215.30µs | 9 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | join_worker_thread | 106.00µs | 0.000 | 106.00µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | adt_sized_constraint | 103.10µs | 0.000 | 265.90µs | 95 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_expn_that_defined | 102.40µs | 0.000 | 102.40µs | 206 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | object_safety_violations | 101.90µs | 0.000 | 808.80µs | 4 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_lto_generate_symbols_below_threshold | 101.00µs | 0.000 | 101.00µs | 83 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_reachable_non_generic | 100.60µs | 0.000 | 701.90µs | 494 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | promoted_mir | 99.50µs | 0.000 | 127.60µs | 10 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | dependency_formats | 98.60µs | 0.000 | 260.50µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_is_mir_available | 95.90µs | 0.000 | 95.90µs | 451 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | get_lang_items | 92.90µs | 0.000 | 443.70µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_sized_raw | 91.70µs | 0.000 | 322.40µs | 60 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | impl_polarity | 91.70µs | 0.000 | 166.20µs | 254 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_private_in_public | 87.20µs | 0.000 | 95.10µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | cgu_partitioning_merge_cgus | 77.50µs | 0.000 | 77.50µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_impl_polarity | 74.50µs | 0.000 | 74.50µs | 234 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | expn_that_defined | 73.10µs | 0.000 | 175.50µs | 206 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_reachable_non_generics | 65.80µs | 0.000 | 151.90µs | 7 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | lit_to_const | 63.50µs | 0.000 | 77.30µs | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | complete_gated_feature_checking | 61.40µs | 0.000 | 61.40µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | wf_checking | 58.20µs | 0.000 | 9.96ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_super_predicates_of | 56.20µs | 0.000 | 56.20µs | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | coherent_trait | 55.30µs | 0.000 | 37.77ms | 12 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_native_libraries | 54.50µs | 0.000 | 54.50µs | 92 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_lookup_stability | 53.80µs | 0.000 | 53.80µs | 68 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | mir_const_qualif | 52.70µs | 0.000 | 930.90µs | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | type_op_normalize_fn_sig | 52.60µs | 0.000 | 110.30µs | 6 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_trait_def | 50.70µs | 0.000 | 50.70µs | 68 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | create_global_ctxt | 42.70µs | 0.000 | 229.40µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_variances_of | 42.30µs | 0.000 | 42.30µs | 29 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | pre_AST_expansion_lint_checks | 41.70µs | 0.000 | 41.70µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_intrinsics | 41.50µs | 0.000 | 41.50µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | stability_index | 41.10µs | 0.000 | 41.10µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | write_allocator_module | 40.20µs | 0.000 | 40.20µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | lookup_deprecation_entry | 40.20µs | 0.000 | 116.80µs | 119 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | impl_defaultness | 39.40µs | 0.000 | 57.30µs | 114 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | collect_and_partition_mono_items | 38.80µs | 0.000 | 48.07ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | exported_symbols | 37.00µs | 0.000 | 305.00µs | 93 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | trait_def | 36.90µs | 0.000 | 87.60µs | 68 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | inferred_outlives_crate | 36.30µs | 0.000 | 549.70µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_lookup_deprecation_entry | 35.50µs | 0.000 | 35.50µs | 97 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | super_predicates_of | 33.00µs | 0.000 | 89.20µs | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_loops | 31.80µs | 0.000 | 31.80µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | mir_abstract_const | 31.00µs | 0.000 | 31.00µs | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | monomorphization_collector_root_collections | 28.90µs | 0.000 | 530.80µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | object_lifetime_defaults_map | 28.50µs | 0.000 | 663.50µs | 55 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | original_crate_name | 28.20µs | 0.000 | 33.20µs | 62 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_promoted_mir | 28.10µs | 0.000 | 28.10µs | 7 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_used_crate_source | 27.10µs | 0.000 | 27.10µs | 92 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | crate_name | 26.90µs | 0.000 | 32.30µs | 93 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_codegened_item | 24.90µs | 0.000 | 24.90µs | 54 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | missing_extern_crate_item | 24.00µs | 0.000 | 35.50µs | 92 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | postorder_cnums | 23.90µs | 0.000 | 23.90µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | symbol_mangling_version | 23.90µs | 0.000 | 28.70µs | 59 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | typeck_item_bodies | 23.20µs | 0.000 | 23.43ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | coherence_checking | 23.20µs | 0.000 | 36.79ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | reachable_set | 22.70µs | 0.000 | 22.70µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_inherent_impls | 22.50µs | 0.000 | 22.50µs | 18 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | crate_variances | 22.50µs | 0.000 | 26.90µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | issue33140_self_ty | 22.30µs | 0.000 | 30.40µs | 67 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_visibility | 22.20µs | 0.000 | 22.20µs | 113 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | dep_kind | 22.00µs | 0.000 | 30.70µs | 92 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | native_libraries | 21.80µs | 0.000 | 76.30µs | 93 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | crate_injection | 21.70µs | 0.000 | 21.70µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | mir_keys | 21.50µs | 0.000 | 21.50µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | match_checking | 21.30µs | 0.000 | 600.80µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | get_lib_features | 21.30µs | 0.000 | 21.30µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | orphan_checking | 21.00µs | 0.000 | 21.00µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | reachable_non_generics | 20.50µs | 0.000 | 601.30µs | 8 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | lookup_stability | 20.50µs | 0.000 | 74.30µs | 69 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_defined_lang_items | 20.20µs | 0.000 | 20.20µs | 92 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | missing_lang_items | 19.90µs | 0.000 | 32.10µs | 92 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_foreign_modules | 19.60µs | 0.000 | 19.60µs | 5 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | misc_checking_1 | 19.40µs | 0.000 | 14.15ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_const_fn_raw | 18.90µs | 0.000 | 24.90µs | 32 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | type_op_normalize_ty | 18.40µs | 0.000 | 18.40µs | 2 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_dllimport_foreign_item | 18.30µs | 0.000 | 57.00µs | 54 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_impl_defaultness | 17.90µs | 0.000 | 17.90µs | 100 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_late_bound_map | 17.70µs | 0.000 | 17.70µs | 24 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_compiler_builtins | 17.30µs | 0.000 | 21.10µs | 93 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_no_builtins | 17.10µs | 0.000 | 21.40µs | 92 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | type_collecting | 16.30µs | 0.000 | 1.84ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | opt_const_param_of | 15.90µs | 0.000 | 15.90µs | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | dllimport_foreign_items | 15.30µs | 0.000 | 38.70µs | 5 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | codegen_module_optimize | 15.20µs | 0.000 | 634.67ms | 2 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | static_mutability | 15.20µs | 0.000 | 22.40µs | 43 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | panic_strategy | 15.00µs | 0.000 | 19.40µs | 83 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | parent_module_from_def_id | 14.40µs | 0.000 | 14.40µs | 27 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_diagnostic_items | 14.30µs | 0.000 | 14.30µs | 6 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_missing_lang_items | 12.20µs | 0.000 | 12.20µs | 92 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | hir_owner_nodes | 12.00µs | 0.000 | 12.00µs | 47 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | has_typeck_results | 11.80µs | 0.000 | 12.30µs | 5 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | misc_checking_3 | 11.60µs | 0.000 | 2.90ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_missing_extern_crate_item | 11.50µs | 0.000 | 11.50µs | 92 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_explicit_item_bounds | 11.00µs | 0.000 | 11.00µs | 3 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | entry_fn | 10.90µs | 0.000 | 10.90µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | unused_lib_feature_checking | 10.90µs | 0.000 | 32.20µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | inherent_impls | 10.50µs | 0.000 | 33.00µs | 21 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | subst_and_check_impossible_predicates | 9.30µs | 0.000 | 27.10µs | 2 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_dep_kind | 8.70µs | 0.000 | 8.70µs | 92 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_is_panic_runtime | 8.50µs | 0.000 | 8.50µs | 92 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | extern_crate | 8.20µs | 0.000 | 9.30µs | 7 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | all_crate_nums | 7.90µs | 0.000 | 7.90µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | crate_inherent_impls_overlap_check | 7.80µs | 0.000 | 8.70µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | codegen_unit | 7.70µs | 0.000 | 7.70µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | impl_wf_inference | 7.30µs | 0.000 | 327.20µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_static_mutability | 7.20µs | 0.000 | 7.20µs | 38 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | normalize_opaque_types | 7.00µs | 0.000 | 7.00µs | 5 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | unsafety_checking | 6.80µs | 0.000 | 6.80µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | in_scope_traits_map | 6.50µs | 0.000 | 6.50µs | 13 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | plugin_registrar_fn | 6.40µs | 0.000 | 6.40µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | hir_module_items | 6.20µs | 0.000 | 6.20µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | link_args | 6.00µs | 0.000 | 6.00µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_is_const_fn_raw | 6.00µs | 0.000 | 6.00µs | 10 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | used_trait_imports | 6.00µs | 0.000 | 6.00µs | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | partition_and_assert_distinct_symbols | 5.90µs | 0.000 | 6.70ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | crate_inherent_impls | 5.70µs | 0.000 | 5.70µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | named_region_map | 5.50µs | 0.000 | 5.50µs | 21 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | features_query | 5.40µs | 0.000 | 5.40µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | proc_macro_decls_static | 5.40µs | 0.000 | 5.40µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_crate_name | 5.40µs | 0.000 | 5.40µs | 92 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | looking_for_derive_registrar | 5.40µs | 0.000 | 10.80µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | crate_disambiguator | 5.10µs | 0.000 | 5.80µs | 6 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | looking_for_entry_point | 5.00µs | 0.000 | 15.90µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | module_lints | 5.00µs | 0.000 | 542.40µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_original_crate_name | 5.00µs | 0.000 | 5.00µs | 61 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | cgu_partitioning_internalize_symbols | 4.90µs | 0.000 | 4.90µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_is_profiler_runtime | 4.80µs | 0.000 | 4.80µs | 92 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_symbol_mangling_version | 4.80µs | 0.000 | 4.80µs | 59 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_panic_strategy | 4.40µs | 0.000 | 4.40µs | 83 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | maybe_building_test_harness | 4.30µs | 0.000 | 4.30µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_is_no_builtins | 4.30µs | 0.000 | 4.30µs | 92 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | recursion_limit | 4.30µs | 0.000 | 4.30µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | diagnostic_items | 4.10µs | 0.000 | 18.40µs | 6 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | item_bounds | 4.00µs | 0.000 | 10.80µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | output_filenames | 4.00µs | 0.000 | 4.00µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_promotable_const_fn | 4.00µs | 0.000 | 11.50µs | 4 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_is_compiler_builtins | 3.80µs | 0.000 | 3.80µs | 92 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | foreign_modules | 3.80µs | 0.000 | 23.40µs | 5 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | backend_optimization_level | 3.70µs | 0.000 | 3.70µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | link_crate | 3.70µs | 0.000 | 469.40ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | | 3.70µs | 0.000 | 3.70µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | module_exports | 3.60µs | 0.000 | 3.60µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | explicit_item_bounds | 3.40µs | 0.000 | 14.40µs | 3 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | all_local_trait_impls | 3.30µs | 0.000 | 3.30µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | maybe_create_a_macro_crate | 3.20µs | 0.000 | 3.20µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | assert_dep_graph | 2.90µs | 0.000 | 2.90µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | coerce_unsized_info | 2.80µs | 0.000 | 3.40µs | 2 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | liveness_and_intrinsic_checking | 2.50µs | 0.000 | 2.35ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | misc_checking_2 | 2.50µs | 0.000 | 2.95ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | attributes_injection | 2.50µs | 0.000 | 2.50µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | item_bodies_checking | 2.40µs | 0.000 | 23.43ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | serialize_dep_graph | 2.40µs | 0.000 | 2.40µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | extern_mod_stmt_cnum | 2.20µs | 0.000 | 2.20µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | layout_testing | 2.10µs | 0.000 | 2.10µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | lint_checking | 2.00µs | 0.000 | 1.45ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | find_cgu_reuse | 1.70µs | 0.000 | 1.70µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | plugin_loading | 1.50µs | 0.000 | 1.50µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | monomorphization_collector | 1.50µs | 0.000 | 41.33ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | item_types_checking | 1.40µs | 0.000 | 1.07ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | maybe_unused_trait_import | 1.20µs | 0.000 | 1.20µs | 6 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | dep_graph_tcx_init | 1.20µs | 0.000 | 1.20µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | privacy_checking_modules | 1.20µs | 0.000 | 429.00µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_extern_crate | 1.10µs | 0.000 | 1.10µs | 7 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_crate_disambiguator | 700.00ns | 0.000 | 700.00ns | 5 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | maybe_unused_extern_crates | 600.00ns | 0.000 | 600.00ns | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | serialize_work_products | 600.00ns | 0.000 | 600.00ns | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_coerce_unsized_info | 600.00ns | 0.000 | 600.00ns | 2 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | write_crate_metadata | 500.00ns | 0.000 | 500.00ns | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | drop_dep_graph | 300.00ns | 0.000 | 300.00ns | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_unused_macros | 200.00ns | 0.000 | 200.00ns | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | plugin_registration | 100.00ns | 0.000 | 100.00ns | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | llvm_dump_timing_file | 100.00ns | 0.000 | 100.00ns | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ Total cpu time: 137.6509901s ```
Profile when the crate is depended on and executed ``` +-------------------------------------------------+-----------+-----------------+----------+------------+ | Item | Self time | % of total time | Time | Item count | +-------------------------------------------------+-----------+-----------------+----------+------------+ | finish_ongoing_codegen | 160.09s | 33.442 | 160.09s | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_passes | 156.30s | 32.650 | 160.11s | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_lto_optimize | 80.91s | 16.902 | 80.91s | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_module_codegen_emit_obj | 73.99s | 15.456 | 73.99s | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_fat_lto_link_module | 3.27s | 0.684 | 3.27s | 116 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | run_linker | 1.75s | 0.366 | 1.75s | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_module_codegen | 755.39ms | 0.158 | 74.75s | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_module_optimize_module_passes | 612.85ms | 0.128 | 612.85ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | codegen_generate_lto_work | 500.47ms | 0.105 | 3.81s | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | codegen_crate | 48.87ms | 0.010 | 235.26ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_register_crate | 48.78ms | 0.010 | 177.48ms | 128 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | codegen_module | 37.13ms | 0.008 | 48.94ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_fat_lto_build_monolithic_module | 33.43ms | 0.007 | 3.31s | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | expand_crate | 33.34ms | 0.007 | 83.47ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_item_attrs | 31.32ms | 0.007 | 31.32ms | 15047 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_module_optimize_function_passes | 22.03ms | 0.005 | 22.03ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | codegen_fn_attrs | 15.09ms | 0.003 | 56.98ms | 10943 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | free_global_ctxt | 14.96ms | 0.003 | 14.96ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | typeck | 14.40ms | 0.003 | 23.82ms | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_adt_def | 13.82ms | 0.003 | 22.53ms | 4177 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | specialization_graph_of | 10.21ms | 0.002 | 53.40ms | 53 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_impl_trait_ref | 9.79ms | 0.002 | 32.44ms | 17597 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | link_altering_rlib | 9.76ms | 0.002 | 9.76ms | 115 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_generics_of | 8.66ms | 0.002 | 8.66ms | 16638 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | mir_borrowck | 8.29ms | 0.002 | 19.95ms | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | link_binary | 7.81ms | 0.002 | 1.77s | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | evaluate_obligation | 7.16ms | 0.001 | 10.56ms | 800 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_fn_sig | 6.45ms | 0.001 | 6.98ms | 10124 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_impl_parent | 6.45ms | 0.001 | 6.45ms | 14286 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | resolve_crate | 6.43ms | 0.001 | 6.43ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_type_of | 6.14ms | 0.001 | 6.36ms | 16011 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | codegen_module_perform_lto | 5.76ms | 0.001 | 155.66s | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_optimized_mir | 4.93ms | 0.001 | 4.95ms | 451 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | codegen_fulfill_obligation | 4.70ms | 0.001 | 8.81ms | 273 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_item_children | 4.59ms | 0.001 | 4.59ms | 4341 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | type_of | 4.00ms | 0.001 | 10.86ms | 16098 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | monomorphization_collector_graph_walk | 3.97ms | 0.001 | 45.86ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | generics_of | 3.72ms | 0.001 | 12.65ms | 16735 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | self_profile_alloc_query_strings | 3.61ms | 0.001 | 3.61ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | impl_trait_ref | 3.58ms | 0.001 | 36.40ms | 17617 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | predicates_of | 3.35ms | 0.001 | 6.27ms | 1103 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | trait_impls_of | 3.34ms | 0.001 | 6.78ms | 67 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | param_env | 3.25ms | 0.001 | 6.51ms | 770 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | symbol_name | 3.21ms | 0.001 | 3.56ms | 1071 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | item_attrs | 3.00ms | 0.001 | 34.31ms | 15047 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_associated_item | 2.98ms | 0.001 | 2.98ms | 10885 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | impl_parent | 2.76ms | 0.001 | 9.21ms | 14286 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | def_kind | 2.55ms | 0.001 | 3.67ms | 11553 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_foreign_item | 2.41ms | 0.001 | 3.58ms | 10327 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | mir_built | 2.28ms | 0.000 | 3.35ms | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | associated_item | 2.24ms | 0.000 | 5.25ms | 10907 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | fn_sig | 2.20ms | 0.000 | 9.27ms | 10146 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | link_binary_remove_temps | 2.14ms | 0.000 | 2.14ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | layout_raw | 2.11ms | 0.000 | 5.76ms | 1980 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_liveness | 2.07ms | 0.000 | 2.08ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | resolve_instance | 1.92ms | 0.000 | 23.24ms | 1290 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_implementations_of_trait | 1.89ms | 0.000 | 1.89ms | 8576 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | mir_drops_elaborated_and_const_checked | 1.86ms | 0.000 | 2.61ms | 34 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | optimized_mir | 1.74ms | 0.000 | 10.30ms | 485 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_associated_item_def_ids | 1.65ms | 0.000 | 1.65ms | 386 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_module_optimize | 1.60ms | 0.000 | 636.48ms | 2 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | implementations_of_trait | 1.54ms | 0.000 | 3.43ms | 8576 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | type_op_prove_predicate | 1.47ms | 0.000 | 1.64ms | 184 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_load_macro | 1.34ms | 0.000 | 1.34ms | 16 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | mir_shims | 1.20ms | 0.000 | 2.32ms | 99 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_is_foreign_item | 1.17ms | 0.000 | 1.17ms | 10296 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | normalize_projection_ty | 1.13ms | 0.000 | 1.26ms | 72 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_def_kind | 1.11ms | 0.000 | 1.11ms | 11457 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | eval_to_allocation_raw | 996.80µs | 0.000 | 5.71ms | 59 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | adt_def | 918.00µs | 0.000 | 23.45ms | 4180 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | visible_parent_map | 864.10µs | 0.000 | 6.27ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | erase_regions_ty | 832.30µs | 0.000 | 962.10µs | 2905 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_explicit_predicates_of | 832.10µs | 0.000 | 832.10µs | 1008 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | associated_items | 774.30µs | 0.000 | 3.35ms | 400 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | item_children | 771.30µs | 0.000 | 5.36ms | 4341 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | predicates_defined_on | 763.00µs | 0.000 | 2.64ms | 1103 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | hir_lowering | 717.50µs | 0.000 | 717.50µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | normalize_generic_arg_after_erasing_regions | 694.00µs | 0.000 | 3.36ms | 260 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | prepare_outputs | 672.90µs | 0.000 | 672.90µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | build_hir_map | 638.20µs | 0.000 | 638.20µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | mir_promoted | 623.40µs | 0.000 | 5.26ms | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_impl_item_well_formed | 568.70µs | 0.000 | 4.77ms | 22 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | parse_crate | 530.20µs | 0.000 | 530.20µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_copy_raw | 492.80µs | 0.000 | 2.70ms | 357 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | assert_symbols_are_distinct | 458.60µs | 0.000 | 3.72ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | macro_expand_crate | 452.30µs | 0.000 | 83.92ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_item_well_formed | 451.20µs | 0.000 | 1.84ms | 33 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_def_span | 439.10µs | 0.000 | 439.10µs | 761 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | mir_const | 393.30µs | 0.000 | 4.55ms | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | cgu_partitioning_place_roots | 385.20µs | 0.000 | 445.90µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_item_types | 382.80µs | 0.000 | 546.20µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | specializes | 381.70µs | 0.000 | 872.00µs | 203 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_privacy | 379.60µs | 0.000 | 442.60µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_match | 375.30µs | 0.000 | 490.60µs | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_exported_symbols | 365.30µs | 0.000 | 365.30µs | 128 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | link | 346.90µs | 0.000 | 161.86s | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | explicit_predicates_of | 338.50µs | 0.000 | 1.19ms | 1103 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_trait_of_item | 297.60µs | 0.000 | 297.60µs | 498 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | vtable_methods | 286.10µs | 0.000 | 356.10µs | 12 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | const_caller_location | 278.90µs | 0.000 | 278.90µs | 20 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | inferred_outlives_of | 274.20µs | 0.000 | 687.80µs | 1103 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | needs_drop_raw | 273.80µs | 0.000 | 3.44ms | 228 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | unsafety_check_result | 244.70µs | 0.000 | 4.90ms | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_freeze_raw | 244.40µs | 0.000 | 2.62ms | 142 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | def_span | 242.30µs | 0.000 | 681.40µs | 851 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | cgu_partitioning_place_inline_items | 236.70µs | 0.000 | 236.70µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | implied_outlives_bounds | 231.80µs | 0.000 | 231.80µs | 49 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | region_scope_tree | 219.20µs | 0.000 | 219.20µs | 72 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_inferred_outlives_of | 212.90µs | 0.000 | 212.90µs | 1008 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | early_lint_checks | 211.90µs | 0.000 | 211.90µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_profiler_runtime | 211.50µs | 0.000 | 217.90µs | 128 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | type_op_ascribe_user_type | 210.70µs | 0.000 | 216.90µs | 11 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | setup_global_ctxt | 210.50µs | 0.000 | 210.50µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | eval_to_const_value_raw | 198.80µs | 0.000 | 10.78ms | 179 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | dropck_outlives | 193.50µs | 0.000 | 565.70µs | 37 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | LLVM_lto_generate_symbols_below_threshold | 184.40µs | 0.000 | 184.40µs | 116 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | lint_mod | 179.70µs | 0.000 | 277.00µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | adt_drop_tys | 174.50µs | 0.000 | 1.37ms | 42 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | analysis | 174.10µs | 0.000 | 100.80ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | link_binary_check_files_are_writeable | 168.10µs | 0.000 | 168.10µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | AST_validation | 166.00µs | 0.000 | 166.00µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | drop_ast | 158.90µs | 0.000 | 158.90µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | method_autoderef_steps | 157.20µs | 0.000 | 490.60µs | 23 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | dependency_formats | 152.00µs | 0.000 | 392.80µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | instance_def_size_estimate | 148.50µs | 0.000 | 148.50µs | 555 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | resolve_lifetimes | 144.60µs | 0.000 | 247.90µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | adt_dtorck_constraint | 144.20µs | 0.000 | 781.00µs | 47 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_expn_that_defined | 141.50µs | 0.000 | 141.50µs | 235 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | trait_of_item | 139.10µs | 0.000 | 436.70µs | 508 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | join_worker_thread | 138.10µs | 0.000 | 138.10µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | associated_item_def_ids | 135.70µs | 0.000 | 1.79ms | 400 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_unstable_api_usage | 126.60µs | 0.000 | 6.54ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | cgu_partitioning | 124.00µs | 0.000 | 1.03ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | promoted_mir | 115.60µs | 0.000 | 144.30µs | 10 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | adt_sized_constraint | 107.20µs | 0.000 | 279.60µs | 95 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_mir_available | 106.60µs | 0.000 | 228.30µs | 453 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | drop_compiler | 105.60µs | 0.000 | 105.60µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_reachable_non_generic | 104.70µs | 0.000 | 299.20µs | 494 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | collect_mod_item_types | 103.20µs | 0.000 | 706.50µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | death_checking | 102.90µs | 0.000 | 115.20µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | type_op_normalize_predicate | 100.70µs | 0.000 | 208.70µs | 9 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_is_mir_available | 100.50µs | 0.000 | 100.50µs | 451 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | object_safety_violations | 99.00µs | 0.000 | 512.10µs | 4 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_sized_raw | 98.70µs | 0.000 | 370.90µs | 60 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_private_in_public | 96.60µs | 0.000 | 104.10µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | configure_and_expand | 96.10µs | 0.000 | 90.74ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | impl_polarity | 95.90µs | 0.000 | 173.40µs | 283 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | lint_levels | 92.50µs | 0.000 | 92.50µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_attrs | 91.20µs | 0.000 | 1.00ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | get_lang_items | 88.20µs | 0.000 | 185.30µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | expn_that_defined | 85.80µs | 0.000 | 227.30µs | 235 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | crate_lints | 85.70µs | 0.000 | 235.40µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | privacy_access_levels | 78.30µs | 0.000 | 81.20µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_impl_polarity | 77.50µs | 0.000 | 77.50µs | 263 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | cgu_partitioning_merge_cgus | 67.50µs | 0.000 | 67.50µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_reachable_non_generics | 66.50µs | 0.000 | 151.40µs | 7 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | visibility | 63.90µs | 0.000 | 96.00µs | 202 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | wf_checking | 60.70µs | 0.000 | 6.68ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | lit_to_const | 59.80µs | 0.000 | 72.30µs | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | complete_gated_feature_checking | 55.90µs | 0.000 | 55.90µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_adt_destructor | 54.30µs | 0.000 | 106.60µs | 59 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | coherent_trait | 52.60µs | 0.000 | 45.36ms | 12 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | type_check_crate | 52.50µs | 0.000 | 72.97ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_lookup_stability | 52.30µs | 0.000 | 52.30µs | 68 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | exported_symbols | 51.50µs | 0.000 | 416.80µs | 129 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_super_predicates_of | 49.50µs | 0.000 | 49.50µs | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | mir_const_qualif | 49.00µs | 0.000 | 248.10µs | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | type_op_normalize_fn_sig | 47.40µs | 0.000 | 99.40µs | 6 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_trait_def | 47.20µs | 0.000 | 47.20µs | 68 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | create_global_ctxt | 45.60µs | 0.000 | 257.10µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | postorder_cnums | 43.40µs | 0.000 | 43.40µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_intrinsics | 43.00µs | 0.000 | 43.00µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | write_allocator_module | 42.60µs | 0.000 | 42.60µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | original_crate_name | 41.60µs | 0.000 | 49.30µs | 87 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | impl_defaultness | 41.30µs | 0.000 | 61.30µs | 114 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_variances_of | 40.40µs | 0.000 | 40.40µs | 29 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | collect_and_partition_mono_items | 39.70µs | 0.000 | 50.77ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | pre_AST_expansion_lint_checks | 39.30µs | 0.000 | 39.30µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | trait_def | 39.20µs | 0.000 | 86.40µs | 68 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_const_bodies | 39.10µs | 0.000 | 50.40µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | lookup_deprecation_entry | 39.10µs | 0.000 | 108.20µs | 119 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | stability_index | 37.50µs | 0.000 | 37.50µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | upvars_mentioned | 37.40µs | 0.000 | 37.40µs | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | symbol_mangling_version | 35.10µs | 0.000 | 42.20µs | 83 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_used_crate_source | 34.40µs | 0.000 | 34.40µs | 128 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_panic_runtime | 34.30µs | 0.000 | 47.90µs | 129 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | dep_kind | 33.30µs | 0.000 | 48.20µs | 128 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_native_libraries | 32.50µs | 0.000 | 32.50µs | 128 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_lookup_deprecation_entry | 31.60µs | 0.000 | 31.60µs | 97 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | native_libraries | 31.40µs | 0.000 | 63.90µs | 129 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | inferred_outlives_crate | 30.80µs | 0.000 | 200.70µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | MIR_borrow_checking | 30.20µs | 0.000 | 15.33ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | crate_name | 29.70µs | 0.000 | 37.20µs | 129 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | issue33140_self_ty | 29.10µs | 0.000 | 37.50µs | 97 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_loops | 28.90µs | 0.000 | 28.90µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_promoted_mir | 28.70µs | 0.000 | 28.70µs | 7 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | defined_lang_items | 28.50µs | 0.000 | 51.00µs | 128 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | super_predicates_of | 28.30µs | 0.000 | 77.80µs | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | missing_extern_crate_item | 27.10µs | 0.000 | 39.80µs | 128 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | adt_destructor | 27.00µs | 0.000 | 1.59ms | 62 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_codegened_item | 26.90µs | 0.000 | 26.90µs | 54 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | monomorphization_collector_root_collections | 26.70µs | 0.000 | 113.20µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | mir_abstract_const | 26.40µs | 0.000 | 26.40µs | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | missing_lang_items | 25.90µs | 0.000 | 41.80µs | 128 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | used_crate_source | 25.80µs | 0.000 | 60.20µs | 128 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | variances_of | 25.70µs | 0.000 | 90.30µs | 32 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | typeck_item_bodies | 24.80µs | 0.000 | 20.98ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_inherent_impls | 24.00µs | 0.000 | 24.00µs | 18 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | match_checking | 24.00µs | 0.000 | 514.60µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_no_builtins | 23.70µs | 0.000 | 29.80µs | 128 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | coherence_checking | 23.40µs | 0.000 | 43.96ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_compiler_builtins | 23.10µs | 0.000 | 28.90µs | 129 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_foreign_modules | 22.60µs | 0.000 | 22.60µs | 5 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_defined_lang_items | 22.50µs | 0.000 | 22.50µs | 128 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | param_env_reveal_all_normalized | 21.70µs | 0.000 | 21.70µs | 35 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | mir_keys | 21.20µs | 0.000 | 21.20µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | crate_injection | 20.80µs | 0.000 | 20.80µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_dllimport_foreign_item | 20.70µs | 0.000 | 65.50µs | 54 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | orphan_checking | 20.60µs | 0.000 | 20.60µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_visibility | 20.50µs | 0.000 | 20.50µs | 113 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | panic_strategy | 20.40µs | 0.000 | 26.00µs | 116 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | get_lib_features | 20.30µs | 0.000 | 20.30µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | reachable_set | 20.10µs | 0.000 | 20.10µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | MIR_effect_checking | 20.10µs | 0.000 | 46.50µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_impl_defaultness | 20.00µs | 0.000 | 20.00µs | 100 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | lookup_stability | 19.80µs | 0.000 | 72.10µs | 69 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | crate_variances | 19.80µs | 0.000 | 24.20µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | object_lifetime_defaults_map | 18.40µs | 0.000 | 266.30µs | 55 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | reachable_non_generics | 18.20µs | 0.000 | 194.50µs | 8 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | dllimport_foreign_items | 17.80µs | 0.000 | 44.80µs | 5 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_mod_impl_wf | 17.30µs | 0.000 | 20.10µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | supported_target_features | 16.50µs | 0.000 | 16.50µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_missing_lang_items | 15.90µs | 0.000 | 15.90µs | 128 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | static_mutability | 15.60µs | 0.000 | 22.70µs | 43 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | codegen_module_optimize | 15.50µs | 0.000 | 636.49ms | 2 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | misc_checking_1 | 15.10µs | 0.000 | 7.67ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_dep_kind | 14.90µs | 0.000 | 14.90µs | 128 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | opt_const_param_of | 14.30µs | 0.000 | 14.30µs | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_late_bound_map | 14.20µs | 0.000 | 14.20µs | 24 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | type_op_normalize_ty | 14.00µs | 0.000 | 14.00µs | 2 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_is_panic_runtime | 13.60µs | 0.000 | 13.60µs | 128 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | parent_module_from_def_id | 13.40µs | 0.000 | 13.40µs | 27 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_const_fn_raw | 12.80µs | 0.000 | 18.60µs | 32 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_missing_extern_crate_item | 12.70µs | 0.000 | 12.70µs | 128 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | has_typeck_results | 12.20µs | 0.000 | 12.70µs | 5 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_diagnostic_items | 11.20µs | 0.000 | 11.20µs | 6 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | inherent_impls | 10.80µs | 0.000 | 34.80µs | 21 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | hir_owner | 10.80µs | 0.000 | 655.10µs | 56 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | misc_checking_3 | 10.50µs | 0.000 | 1.30ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | type_collecting | 10.00µs | 0.000 | 716.50µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | unused_lib_feature_checking | 9.80µs | 0.000 | 30.10µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_explicit_item_bounds | 9.80µs | 0.000 | 9.80µs | 3 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | codegen_unit | 9.60µs | 0.000 | 9.60µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | subst_and_check_impossible_predicates | 8.60µs | 0.000 | 24.60µs | 2 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | hir_owner_nodes | 8.30µs | 0.000 | 8.30µs | 47 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | entry_fn | 8.10µs | 0.000 | 8.10µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | crate_inherent_impls_overlap_check | 8.00µs | 0.000 | 8.80µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_original_crate_name | 7.70µs | 0.000 | 7.70µs | 86 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | unsafety_checking | 7.60µs | 0.000 | 7.60µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | link_args | 7.50µs | 0.000 | 7.50µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_crate_name | 7.50µs | 0.000 | 7.50µs | 128 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | hir_crate | 7.10µs | 0.000 | 7.10µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_static_mutability | 7.10µs | 0.000 | 7.10µs | 38 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_symbol_mangling_version | 7.10µs | 0.000 | 7.10µs | 83 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | normalize_opaque_types | 7.10µs | 0.000 | 7.10µs | 5 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | extern_crate | 6.80µs | 0.000 | 7.70µs | 7 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_is_profiler_runtime | 6.40µs | 0.000 | 6.40µs | 128 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | partition_and_assert_distinct_symbols | 6.30µs | 0.000 | 4.75ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | index_hir | 6.10µs | 0.000 | 644.30µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_is_no_builtins | 6.10µs | 0.000 | 6.10µs | 128 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | in_scope_traits_map | 6.00µs | 0.000 | 6.00µs | 13 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | crate_inherent_impls | 5.90µs | 0.000 | 5.90µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_is_const_fn_raw | 5.80µs | 0.000 | 5.80µs | 10 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_is_compiler_builtins | 5.80µs | 0.000 | 5.80µs | 128 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_panic_strategy | 5.60µs | 0.000 | 5.60µs | 116 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | used_trait_imports | 5.60µs | 0.000 | 5.60µs | 48 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | looking_for_plugin_registrar | 5.30µs | 0.000 | 10.40µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | plugin_registrar_fn | 5.10µs | 0.000 | 5.10µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | hir_module_items | 5.10µs | 0.000 | 5.10µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | cgu_partitioning_internalize_symbols | 4.90µs | 0.000 | 4.90µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | looking_for_derive_registrar | 4.90µs | 0.000 | 9.20µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | named_region_map | 4.70µs | 0.000 | 4.70µs | 21 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | looking_for_entry_point | 4.50µs | 0.000 | 12.60µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | link_crate | 4.50µs | 0.000 | 1.77s | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | foreign_modules | 4.40µs | 0.000 | 27.00µs | 5 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | proc_macro_decls_static | 4.30µs | 0.000 | 4.30µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | all_crate_nums | 4.30µs | 0.000 | 4.30µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | item_bounds | 4.10µs | 0.000 | 10.40µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | output_filenames | 4.10µs | 0.000 | 4.10µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | crate_disambiguator | 4.10µs | 0.000 | 4.40µs | 6 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | recursion_limit | 3.80µs | 0.000 | 3.80µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | impl_wf_inference | 3.70µs | 0.000 | 23.80µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | backend_optimization_level | 3.60µs | 0.000 | 3.60µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | | 3.60µs | 0.000 | 3.60µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | explicit_item_bounds | 3.40µs | 0.000 | 13.20µs | 3 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | features_query | 3.30µs | 0.000 | 3.30µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | is_promotable_const_fn | 3.10µs | 0.000 | 9.20µs | 4 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | diagnostic_items | 3.00µs | 0.000 | 14.20µs | 6 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | module_exports | 2.90µs | 0.000 | 2.90µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | maybe_building_test_harness | 2.80µs | 0.000 | 2.80µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | maybe_create_a_macro_crate | 2.80µs | 0.000 | 2.80µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | coerce_unsized_info | 2.80µs | 0.000 | 3.50µs | 2 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | item_bodies_checking | 2.70µs | 0.000 | 20.99ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | liveness_and_intrinsic_checking | 2.60µs | 0.000 | 2.12ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | misc_checking_2 | 2.50µs | 0.000 | 2.64ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | assert_dep_graph | 2.40µs | 0.000 | 2.40µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | all_local_trait_impls | 2.10µs | 0.000 | 2.10µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | attributes_injection | 2.10µs | 0.000 | 2.10µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | module_lints | 2.10µs | 0.000 | 279.10µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | serialize_dep_graph | 1.90µs | 0.000 | 1.90µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | lint_checking | 1.90µs | 0.000 | 516.40µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | extern_mod_stmt_cnum | 1.90µs | 0.000 | 1.90µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | layout_testing | 1.80µs | 0.000 | 1.80µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | plugin_loading | 1.70µs | 0.000 | 1.70µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | item_types_checking | 1.30µs | 0.000 | 547.50µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | maybe_unused_trait_import | 1.20µs | 0.000 | 1.20µs | 6 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | monomorphization_collector | 1.10µs | 0.000 | 45.98ms | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | dep_graph_tcx_init | 1.00µs | 0.000 | 1.00µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | find_cgu_reuse | 1.00µs | 0.000 | 1.00µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_extern_crate | 900.00ns | 0.000 | 900.00ns | 7 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | privacy_checking_modules | 900.00ns | 0.000 | 443.50µs | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | serialize_work_products | 700.00ns | 0.000 | 700.00ns | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_coerce_unsized_info | 700.00ns | 0.000 | 700.00ns | 2 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | maybe_unused_extern_crates | 500.00ns | 0.000 | 500.00ns | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | drop_dep_graph | 400.00ns | 0.000 | 400.00ns | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | write_crate_metadata | 400.00ns | 0.000 | 400.00ns | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | metadata_decode_entry_crate_disambiguator | 300.00ns | 0.000 | 300.00ns | 5 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | check_unused_macros | 200.00ns | 0.000 | 200.00ns | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | plugin_registration | 100.00ns | 0.000 | 100.00ns | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ | llvm_dump_timing_file | 100.00ns | 0.000 | 100.00ns | 1 | +-------------------------------------------------+-----------+-----------------+----------+------------+ Total cpu time: 478.7158468s ```
jyn514 commented 4 years ago

Wow, that's almost completely LLVM.

Have you tried turning off LTO, or using ThinLTO instead?

Kixiron commented 4 years ago

No matter the LTO settings it's still a long time, it is less though

jyn514 commented 4 years ago

@Kixiron in debug mode, -C no-prepopulate-passes brought this down from 31 to 24 seconds for me. It doesn't work for release mode though (or at least, the fix is worse than the cure: the flag means 'do absolutely no optimizations not even the easy ones').

jyn514 commented 4 years ago

Your main issue is that the compiler is just doing a staggering amount of work; -Z print-mono-items shows me over 100000 items being defined and compiled, even more than rustc_middle (https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Making.20rustc_middle.20faster.20to.20compile/near/212154272).

mono-items.zip