rust/compiler
bors c9b45e6010 Auto merge of #90253 - Kobzol:hash-stable-sort-index-map, r=cjgillot
Change several HashMaps to IndexMap to improve incremental hashing performance

Stable hashing hash maps in incremental mode takes a lot of time, especially for some benchmarks like `clap`. As noted by `@Mark-Simulacrum` [here](https://github.com/rust-lang/rust/pull/89404#issuecomment-950043892), this cost could be reduced by replacing some hash maps by indexmaps.

I gathered some statistics and found several hash maps that took a lot of time to hash and replaced them by indexmaps. However, in order for this to work, we need to make sure that these indexmaps have deterministic insertion order. These three are used only in visitors as far as I can see, which seems deterministic. Can we enforce this somehow? Or should some explaining comment be included for these maps?
2022-03-11 16:37:55 +00:00
..
rustc remove unused jemallocator crate 2022-01-28 16:56:05 +01:00
rustc_apfloat
rustc_arena Remove unused dep from rustc_arena 2022-02-02 17:37:14 +01:00
rustc_ast Implement macro meta-variable expressions 2022-03-09 16:46:23 -03:00
rustc_ast_lowering remove unnecessary .. patterns 2022-03-07 02:18:36 +09:00
rustc_ast_passes Rollup merge of #94635 - jhpratt:merge-deprecated-attrs, r=davidtwco 2022-03-10 12:20:51 +01:00
rustc_ast_pretty Change syntax for TyAlias where clauses 2022-03-05 13:13:45 -05:00
rustc_attr Rollup merge of #94635 - jhpratt:merge-deprecated-attrs, r=davidtwco 2022-03-10 12:20:51 +01:00
rustc_borrowck Auto merge of #94737 - lcnr:pass-stuff-by-value, r=davidtwco 2022-03-10 00:15:39 +00:00
rustc_builtin_macros Change syntax for TyAlias where clauses 2022-03-05 13:13:45 -05:00
rustc_codegen_cranelift Clarify Layout interning. 2022-03-07 13:41:47 +11:00
rustc_codegen_gcc Auto merge of #94690 - nnethercote:clarify-Layout-interning, r=fee1-dead 2022-03-07 15:25:42 +00:00
rustc_codegen_llvm Rollup merge of #94728 - compiler-errors:box-allocator-zst-meta, r=michaelwoerister 2022-03-10 23:13:00 +01:00
rustc_codegen_ssa Clarify Layout interning. 2022-03-07 13:41:47 +11:00
rustc_const_eval normalization change and rebase 2022-03-09 11:33:11 +01:00
rustc_data_structures add #[rustc_pass_by_value] to more types 2022-03-08 15:39:52 +01:00
rustc_driver Rollup merge of #93913 - bjorn3:remove_everybody_loops, r=jackh726 2022-03-04 02:06:38 +01:00
rustc_error_codes Rollup merge of #94555 - cuishuang:master, r=oli-obk 2022-03-03 20:01:48 +01:00
rustc_errors Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
rustc_expand Implement macro meta-variable expressions 2022-03-09 16:46:23 -03:00
rustc_feature Rollup merge of #94368 - c410-f3r:metaaaaaaaaaaaaaaaaaaaaaaaaaaa, r=petrochenkov 2022-03-10 23:12:58 +01:00
rustc_fs_util
rustc_graphviz eplace usages of vec![].into_iter with [].into_iter 2022-01-09 14:09:25 +11:00
rustc_hir add #[rustc_pass_by_value] to more types 2022-03-08 15:39:52 +01:00
rustc_hir_pretty resolve: Fix incorrect results of opt_def_kind query for some built-in macros 2022-02-24 22:54:36 +03:00
rustc_incremental all: fix some typos 2022-03-03 19:47:23 +08:00
rustc_index Add comment linking to closed PR for future optimizers 2022-03-07 19:06:42 +01:00
rustc_infer update comment 2022-03-11 09:51:42 +01:00
rustc_interface Rollup merge of #94362 - Urgau:check-cfg-values, r=petrochenkov 2022-03-04 22:58:34 +01:00
rustc_lexer Improve scan_escape. 2022-02-24 17:01:01 +11:00
rustc_lint Fix docs, fix incorrect lint source in note 2022-03-08 19:09:32 +00:00
rustc_lint_defs Rollup merge of #94274 - djkoloski:unknown_unstable_lints, r=tmandry 2022-03-10 23:12:57 +01:00
rustc_llvm RustWrapper: add missing include 2022-03-10 11:16:33 -05:00
rustc_log Make rustc_log doc test runnable 2022-01-03 22:31:56 -08:00
rustc_macros add #[rustc_pass_by_value] to more types 2022-03-08 15:39:52 +01:00
rustc_metadata Clarify Layout interning. 2022-03-07 13:41:47 +11:00
rustc_middle Auto merge of #90253 - Kobzol:hash-stable-sort-index-map, r=cjgillot 2022-03-11 16:37:55 +00:00
rustc_mir_build Auto merge of #94059 - b-naber:constantkind-val-transformation, r=lcnr 2022-03-10 05:53:59 +00:00
rustc_mir_dataflow add #[rustc_pass_by_value] to more types 2022-03-08 15:39:52 +01:00
rustc_mir_transform Move is_trivially_pure_clone_copy onto Ty instead 2022-03-10 01:19:02 -08:00
rustc_monomorphize Introduce ConstAllocation. 2022-03-07 08:25:50 +11:00
rustc_parse diagnostics: only talk about Cargo.toml if running under Cargo 2022-03-07 10:54:17 -07:00
rustc_parse_format Correctly mark the span of captured arguments in format_args!() 2022-02-16 07:34:06 +00:00
rustc_passes Rollup merge of #94635 - jhpratt:merge-deprecated-attrs, r=davidtwco 2022-03-10 12:20:51 +01:00
rustc_plugin_impl
rustc_privacy remove unnecessary .. patterns 2022-03-07 02:18:36 +09:00
rustc_query_impl Auto merge of #94084 - Mark-Simulacrum:drop-sharded, r=cjgillot 2022-02-27 14:04:07 +00:00
rustc_query_system rename ErrorReported -> ErrorGuaranteed 2022-03-02 09:45:25 -06:00
rustc_resolve Rollup merge of #94595 - TaKO8Ki:fix-invalid-unresolved-imports-errors-for-asterisk-wildcard-syntax, r=estebank 2022-03-04 22:58:35 +01:00
rustc_save_analysis Switch bootstrap cfgs 2022-02-25 08:00:52 -05:00
rustc_serialize Delete Decoder::read_unit 2022-02-22 18:14:51 -05:00
rustc_session Rollup merge of #94274 - djkoloski:unknown_unstable_lints, r=tmandry 2022-03-10 23:12:57 +01:00
rustc_span Rollup merge of #94368 - c410-f3r:metaaaaaaaaaaaaaaaaaaaaaaaaaaa, r=petrochenkov 2022-03-10 23:12:58 +01:00
rustc_symbol_mangling Introduce ConstAllocation. 2022-03-07 08:25:50 +11:00
rustc_target Clarify Layout interning. 2022-03-07 13:41:47 +11:00
rustc_trait_selection Rollup merge of #94440 - compiler-errors:issue-94282, r=lcnr 2022-03-10 19:00:05 +01:00
rustc_traits chalk/db: use correct debrujin index when replacing opaque type. 2022-02-22 00:16:56 +01:00
rustc_ty_utils rename ErrorReported -> ErrorGuaranteed 2022-03-02 09:45:25 -06:00
rustc_type_ir Inline UnifyKey::index and UnifyKey::from_index 2022-02-15 19:07:06 +01:00
rustc_typeck Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00