12
submitted 1 month ago by Doods@infosec.pub to c/rust@programming.dev

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?

top 6 comments
sorted by: hot top controversial new old
[-] TehPers@beehaw.org 12 points 1 month ago* (last edited 1 month 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 to iced_wgpu point to your local modified copy.

[-] 5C5C5C@programming.dev 8 points 1 month ago

OP really needs to heed this advice. Modifying things in the cache will cause breakages that will confuse the hell out of you.

[-] nous@programming.dev 8 points 1 month 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.

[-] calcopiritus@lemmy.world 2 points 1 month ago

Not related to your question at all, but:

I don't recommend editing the source code from cargo's files. Instead, the correct way to modify a dependency would be making a fork and using it as a gift dependency (or path dependency, which is even easier).

[-] soulsource@discuss.tchncs.de 1 points 1 month 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?

[-] Ciel@lemmygrad.ml 0 points 1 month ago* (last edited 1 month ago)

only thing that i can think off is that your ra install could be out of date? this sounds like some old ra bugs?

if its not tat, idk

this post was submitted on 04 Oct 2024
12 points (92.9% liked)

Rust

5999 readers
19 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

!performance@programming.dev

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 1 year ago
MODERATORS