rust/crates
bors[bot] fe4a94fff3
Merge #7994
7994: Speed up mbe matching in heavy recursive cases r=edwin0cheng a=edwin0cheng

In some cases (e.g.  #4186), mbe matching is very slow due to a lot of copy and allocation for bindings, this PR try to solve this problem by introduce a semi "link-list" approach for bindings building.

I used this [test case](https://github.com/weiznich/minimal_example_for_rust_81262) (for `features(32-column-tables)`) to run following command to benchmark:
```
time rust-analyzer analysis-stats  --load-output-dirs ./ 
```

Before this PR : 2 mins
After this PR: 3 seconds.

However, for 64-column-tables cases, we still need 4 mins to complete. 

I will try to investigate in the following weeks.

bors r+




Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2021-03-13 13:04:45 +00:00
..
base_db Fixed remaining references to AnalysisChange (now: Change) 2021-02-28 12:57:41 +01:00
cfg
flycheck Bump cargo_metadata 2021-03-02 14:27:29 +02:00
hir Avoid double text edits when renaming mod declaration 2021-03-10 15:49:01 +01:00
hir_def Simplify hir_def TestDB 2021-03-13 02:24:53 +01:00
hir_expand Merge #7994 2021-03-13 13:04:45 +00:00
hir_ty Remove ItemTree::source 2021-03-12 23:54:29 +01:00
ide remove unused CompletionScore enum 2021-03-12 06:16:04 -08:00
ide_assists Merge #7956 2021-03-12 14:45:04 +00:00
ide_completion update relevance score u8 -> u32 2021-03-12 06:16:04 -08:00
ide_db Compilation speed 2021-03-09 22:30:58 +03:00
ide_ssr Merge #7961 2021-03-10 17:06:11 +00:00
mbe Merge #7994 2021-03-13 13:04:45 +00:00
parser Fix remaining references to cargo xtask codegen 2021-03-12 15:10:33 +01:00
paths
proc_macro_api use doc-comments 2021-03-10 04:54:31 +08:00
proc_macro_srv Compilation speed 2021-03-09 22:30:58 +03:00
proc_macro_test
profile
project_model Never run cargo check on the rustc source 2021-03-08 16:42:18 +00:00
rust-analyzer update relevance score u8 -> u32 2021-03-12 06:16:04 -08:00
stdx
syntax Merge #7956 2021-03-12 14:45:04 +00:00
test_utils Use upstream cov-mark 2021-03-08 22:19:44 +02:00
text_edit
toolchain
tt add expand log 2021-03-13 20:14:21 +08:00
vfs
vfs-notify