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
..
2021-03-02 14:27:29 +02:00
2021-03-13 02:24:53 +01:00
2021-03-13 13:04:45 +00:00
2021-03-12 23:54:29 +01:00
2021-03-12 06:16:04 -08:00
2021-03-12 14:45:04 +00:00
2021-03-09 22:30:58 +03:00
2021-03-10 17:06:11 +00:00
2021-03-13 13:04:45 +00:00
2021-03-10 04:54:31 +08:00
2021-03-09 22:30:58 +03:00
2021-02-05 16:09:45 +01:00
2021-03-12 14:45:04 +00:00
2021-03-08 22:19:44 +02:00
2021-03-13 20:14:21 +08:00
2021-02-12 16:31:16 +01:00