rust-analyzer/crates/proc-macro-srv-cli/src
Chayim Refael Friedman ceba289f80 Store token trees in contiguous Vec instead of as a tree
I expected this to be faster (due to less allocations and better cache locality), but benchmarked it is not (neither it is slower). Memory usage, however, drops by ~50mb (of `analysis-stats .`). I guess tt construction is just not hot.

This also simplifies using even less memory for token trees by compressing equal span, which I plan to do right after.

Some workflows are more easily expressed with a flat tt, while some are better expressed with a tree. With the right helpers, though (which was mostly a matter of trial and error), even the worst workflows become very easy indeed.
2025-01-02 19:21:46 +02:00
..
main.rs Decouple proc-macro server protocol from the server implementation 2024-12-30 10:33:57 +01:00
main_loop.rs Store token trees in contiguous Vec instead of as a tree 2025-01-02 19:21:46 +02:00