Commit 7d60a44
Merge #3990
3990: Switch to Chalk recursive solver r=matklad a=flodiebold
Before:
```
Expressions of unknown type: 5526 (3%)
Expressions of partially unknown type: 5415 (3%)
```
After:
```
Expressions of unknown type: 4600 (2%)
Expressions of partially unknown type: 4645 (2%)
```
On the other hand,
```
'./target/release/rust-analyzer analysis-stats -q . # old solver' ran
1.24 ± 0.04 times faster than 'rust-analyzer analysis-stats -q . # new solver'
```
I think part of this just comes from the fact that we're inferring more types now; but apart from that, it should be possible to improve the performance a bunch, and I'll make looking into that a priority.
Co-authored-by: Florian Diebold <[email protected]>File tree
5 files changed
+121
-40
lines changed- crates/ra_hir_ty/src
- infer
- tests
- traits
5 files changed
+121
-40
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
69 | 83 | | |
70 | 84 | | |
71 | 85 | | |
| |||
91 | 105 | | |
92 | 106 | | |
93 | 107 | | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
94 | 113 | | |
95 | 114 | | |
96 | 115 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| 35 | + | |
35 | 36 | | |
36 | 37 | | |
37 | 38 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
349 | 349 | | |
350 | 350 | | |
351 | 351 | | |
352 | | - | |
353 | 352 | | |
354 | 353 | | |
355 | 354 | | |
| |||
368 | 367 | | |
369 | 368 | | |
370 | 369 | | |
371 | | - | |
372 | | - | |
373 | | - | |
374 | | - | |
375 | | - | |
376 | | - | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
377 | 376 | | |
378 | 377 | | |
379 | 378 | | |
| |||
433 | 432 | | |
434 | 433 | | |
435 | 434 | | |
436 | | - | |
437 | | - | |
| 435 | + | |
| 436 | + | |
438 | 437 | | |
439 | 438 | | |
440 | 439 | | |
| |||
549 | 548 | | |
550 | 549 | | |
551 | 550 | | |
552 | | - | |
| 551 | + | |
553 | 552 | | |
554 | 553 | | |
555 | 554 | | |
| |||
574 | 573 | | |
575 | 574 | | |
576 | 575 | | |
577 | | - | |
| 576 | + | |
578 | 577 | | |
579 | 578 | | |
580 | 579 | | |
| |||
916 | 915 | | |
917 | 916 | | |
918 | 917 | | |
919 | | - | |
920 | | - | |
921 | | - | |
922 | | - | |
923 | | - | |
| 918 | + | |
924 | 919 | | |
925 | 920 | | |
926 | 921 | | |
| |||
1329 | 1324 | | |
1330 | 1325 | | |
1331 | 1326 | | |
1332 | | - | |
| 1327 | + | |
1333 | 1328 | | |
1334 | | - | |
1335 | | - | |
| 1329 | + | |
| 1330 | + | |
1336 | 1331 | | |
1337 | 1332 | | |
1338 | | - | |
| 1333 | + | |
1339 | 1334 | | |
1340 | | - | |
1341 | | - | |
| 1335 | + | |
| 1336 | + | |
1342 | 1337 | | |
1343 | 1338 | | |
1344 | 1339 | | |
| |||
1402 | 1397 | | |
1403 | 1398 | | |
1404 | 1399 | | |
1405 | | - | |
1406 | 1400 | | |
1407 | 1401 | | |
1408 | 1402 | | |
| |||
1422 | 1416 | | |
1423 | 1417 | | |
1424 | 1418 | | |
1425 | | - | |
| 1419 | + | |
1426 | 1420 | | |
1427 | 1421 | | |
1428 | 1422 | | |
| |||
1578 | 1572 | | |
1579 | 1573 | | |
1580 | 1574 | | |
1581 | | - | |
| 1575 | + | |
1582 | 1576 | | |
1583 | 1577 | | |
1584 | 1578 | | |
| |||
1829 | 1823 | | |
1830 | 1824 | | |
1831 | 1825 | | |
1832 | | - | |
| 1826 | + | |
1833 | 1827 | | |
1834 | 1828 | | |
1835 | 1829 | | |
| |||
1989 | 1983 | | |
1990 | 1984 | | |
1991 | 1985 | | |
1992 | | - | |
1993 | | - | |
1994 | | - | |
| 1986 | + | |
| 1987 | + | |
| 1988 | + | |
| 1989 | + | |
| 1990 | + | |
| 1991 | + | |
| 1992 | + | |
| 1993 | + | |
| 1994 | + | |
| 1995 | + | |
| 1996 | + | |
| 1997 | + | |
| 1998 | + | |
| 1999 | + | |
| 2000 | + | |
| 2001 | + | |
| 2002 | + | |
| 2003 | + | |
| 2004 | + | |
| 2005 | + | |
| 2006 | + | |
| 2007 | + | |
| 2008 | + | |
| 2009 | + | |
| 2010 | + | |
| 2011 | + | |
| 2012 | + | |
| 2013 | + | |
| 2014 | + | |
| 2015 | + | |
| 2016 | + | |
| 2017 | + | |
| 2018 | + | |
| 2019 | + | |
| 2020 | + | |
| 2021 | + | |
| 2022 | + | |
| 2023 | + | |
| 2024 | + | |
| 2025 | + | |
| 2026 | + | |
| 2027 | + | |
| 2028 | + | |
| 2029 | + | |
| 2030 | + | |
| 2031 | + | |
| 2032 | + | |
| 2033 | + | |
| 2034 | + | |
| 2035 | + | |
| 2036 | + | |
| 2037 | + | |
| 2038 | + | |
| 2039 | + | |
| 2040 | + | |
| 2041 | + | |
| 2042 | + | |
| 2043 | + | |
| 2044 | + | |
| 2045 | + | |
| 2046 | + | |
| 2047 | + | |
| 2048 | + | |
| 2049 | + | |
| 2050 | + | |
| 2051 | + | |
| 2052 | + | |
| 2053 | + | |
| 2054 | + | |
1995 | 2055 | | |
1996 | 2056 | | |
1997 | 2057 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
23 | 25 | | |
24 | 26 | | |
25 | 27 | | |
| |||
30 | 32 | | |
31 | 33 | | |
32 | 34 | | |
33 | | - | |
34 | | - | |
| 35 | + | |
35 | 36 | | |
36 | 37 | | |
37 | 38 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
511 | 511 | | |
512 | 512 | | |
513 | 513 | | |
514 | | - | |
| 514 | + | |
515 | 515 | | |
516 | | - | |
517 | | - | |
| 516 | + | |
| 517 | + | |
518 | 518 | | |
519 | 519 | | |
520 | | - | |
| 520 | + | |
521 | 521 | | |
522 | 522 | | |
523 | 523 | | |
| |||
0 commit comments