rust-analyzer/crates/hir_expand
Aleksey Kladov c603b9043f feat: make hightlighting linear
In https://youtu.be/qvIZZf5dmTE, we've noticed that AstIdMap does a
linear lookup when going from SyntaxNode to Id. This leads to
accidentally quadratic overall performance. Replace linear lookup with a
O(1) hashmap lookup.

Future work: don't duplicate `SyntaxNodePtr` in `AstIdMap` and switch to
"call site dependency injection" style storage (eg, store a
`HashSet<ErasedFileAstId>`).

See the explanation of the work here on YouTube
https://youtu.be/wvEgymUm7cY :-)
2021-12-05 15:32:39 +03:00
..
src feat: make hightlighting linear 2021-12-05 15:32:39 +03:00
Cargo.toml Clean up some unused cross-crate dependencies 2021-12-05 13:54:49 +02:00