I was using Iced as a dependency, but wanted to tweak its source code for some reason, so I jumped into the folder where cargo downloads dependencies, and went into iced_wgpu 13.5 (I think that’s the version).
I could make a change, then run
cargo clean -p iced_wgpu && cargo check
in my other project for instant feedback, yet it took rust_analyzer at least 5 whole minutes to stop hallucinating.
Can I disable some functionality of rust_analyzer
? I only use it for jump-to-definition, linting and syntax highlighting; I don’t even use autocomplete.
Setup:
-
Desktop that thermally throttles only when both the IGPU and the CPU are under full load, and is cool otherwise.
-
CPU: Intel I5-7500
-
RAM: 8 GiB DDR-4
-
Editor: NVIM v0.11.0-dev | Build type: RelWithDebInfo | LuaJIT 2.1.0-beta3 (I had the same issue with other versions as well).
TLDR
What can I disable in rust_analyzer to boost performance while maintaining jump-to-definition, linting and syntax-highlighting, or what can I do to boost rust_analyzer for big projects in general?
- soulsource ( @soulsource@discuss.tchncs.de ) 1•2 hours ago
No solution, but I have a similar issue with the higher crate.
There the /prelude/src/lib.rs file lets rust-analyzer lose its mind and allocate gigabytes upon gigabytes of memory, even though the file compiles just fine and nearly instantaneous…
I think this has something to do with recursive macros. Doesn’t iced also have such? I have faint memories of a column! macro?
- nous ( @nous@programming.dev ) English5•6 hours ago
rust-analyzer I believe will compile all the deps the first time it runs. This will take some time but after that it should be fast. If you run a cargo clean that will wipe everything and you will have to wait again. So dont do that. clean should be something you run sparingly not before every compile.
- TehPers ( @TehPers@beehaw.org ) English3•5 hours ago
Rather than modifying your dependencies in the cache directory (which is really not a good idea), consider cloning the repo directly. You can use a patch entry in your
Cargo.toml
to have all references toiced_wgpu
point to your local modified copy.